On the other hand, why wouldn't this likely be an AMDGPU driver issue? I suppose I should try booting into Windows and suspending from there, just to see if it's reliable. I could also try backing off my fclk frequency, and disable resizeable BAR for the laughs. I could even go as far as swapping my older Nvidia GPU back in and see if that suspends and resumes ok. I'm expecting a new born baby this week, so it's not like I have anything better to do!
I don't like producing e-waste, but if I conclusively knew it was a systemic Gigabyte issue, I would seriously consider switching to a new motherboard from another vendor. I built this desktop after being in the hospital ICU for 5 days, and promised myself I wouldn't spare any expense. I also expect it to last the next decade, and so I don't want to be annoyed by it long term...
Would you be able to share the details of your script? Or does it simply switch to a virtual terminal before suspending, then switch back after resuming?
Regarding e-waste. Not sure where you live, but we have Freecycle and a Facebook "Buy nothing" group that my wife uses. They let us find a home for tons of stuff we otherwise would have had to throw out.
[Unit]
Description=Switches to a TTY before suspending
Before=sleep.target
StopWhenUnneeded=yes
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c 'fgconsole >
/tmp/fix_resume_active_console'
ExecStart=/usr/bin/chvt 1
ExecStop=/bin/bash -c '/usr/bin/chvt $(cat
/tmp/fix_resume_active_console)'
[Install]
WantedBy=sleep.target