I suspected too that nvidia-smi would break the suspend so I did some testing.
First of all tho, I am using the AUR package optimus-manager in combination with optimus-manager-qt. Could be of course be the problem that its not working for me but so far I havent found settings optimus-manager is doing differently from what the nvidia documentation suggests. It does set the control variable successfully to auto for me every time, so may be the package is worth a try for you too @SRSR333 . Backup your xorg file tho, optimus manager does create a new one, which from then on can only be edited from /etc/optimus-manager/xorg . And it does put blacklist commands in lib/modprobe.d as well as /usr/lib/modprobe.d . It blacklists basically everything, noveau or nvidia related.
Since optimus-manager has a integrated, hybrid and nvidia method, I have checked the power consumption on all three of them. I used powertop for that, so I can stay away from the dGPU.
On integrated the dGPU runs at power state P0 @ 10 Watts and never changes (no management at all nvidia drivers are unloaded).
On hybrid it runs at P8 and 3 W and never changes (as long as I dont tax it).
Idling on nvidia it runs at P8 and 3W, so the same as hybrid. Yet every program started taxes it, since it runs the desktop session then.
So its definitly not suspending for me on hybrid mode.
I dunno tho if its maybe a hardware thing and it cant be suspended. I got me a script that issues several ACPI calls to suspend a dGPU, testing if a call does work. One worked but it froze my system. Killing the Xorg process running on the dGPU in hybrid does take me back to the desktop login manager, so effectively it kills the XServer.
So I am out of ideas at the moment. :/
Found a reddit comment of someone having the same issue on his laptop and he got noveau running as the driver in use on the dGPU. Blacklisting it, solved the issue for him. It did not for me tho, maybe worth a try for you @SRSR333
P.S.: here is a picture of my status monitoring of the nvidia driver in hybrid mode in conky. Of course I know the nvidia-smi calls in the conky script would break the suspend, so I wrapped them in an if-statement, checking on that suspend state first and that more frequent than the smi calls and I tested it for quite some time without conky running. Temperature is normally idling at 48°C, in this picture the cpu heated the gpu up passively: https://i.imgur.com/dPkewxL.jpg