When a setuid program is run, are the permission bits for the owner technically rwx?
I was thinking that the first three permission bits were for the owner but thinking on it more if they were ---, this wouldn't make sense as a setUID program.
My understanding is the first three bits are for the user (i.e. the one currently logged in). Is this correct?
No.
When a setuid program is run, then (from chmod):
Nothing more, nothing less. The first three permission bits are for the owner, as you say. And yes, if the user did not have execute permission, that wouldn't make sense (and it wouldn't be an "executable file").
Is there a specific case you have in mind that you're having trouble testing?