Is there any way to prevent the AT&T update software form using my 4G connection (i.e. using Wi-Fi only when available)?
By default it seems to use the 4G connection when there's no Wi-Fi connection, as the screenshots below show. I use Samsung I9300 Galaxy S III with a rooted Android 4.1.2.
Following saloalv's answer, I tapped on "Android OS" (which is the process listed as being the one who used my 4G connection): I don't see any "restrict background data" option.
I do see the "restrict background data" option for other processes though: