There exists a bug with Gigabyte motherboards. It only happens after a BIOS flash/update.
I can only personally confirm x570 and b450 but it could affect other models.
After updating/flashing the BIOS some settings will ‘‘stick’’ they will not actually change despite being changed in the BIOS.
This is a problem for VFIO because we must disable Smart Access Memory(Re-Sizeable Bar)/4G Decoding and ironically this is one of the settings that can get stuck.
What worked for me was flashing the same BIOS version again. This unstuck the broken settings. Of course always be careful when flashing BIOS if you are also facing this problem.
Seems this bug has been around for a long time, Gigabyte pls fix.