I found the issue with V-Sync, and honestly, I feel a bit retarded for not realizing it sooner. I'm sharing my experience in case others run into the same problem.
I have a 2K, 165Hz G-Sync/Freesync Pro monitor. With my old RTX 3080, the NVIDIA driver automatically read the monitor's capabilities, and V-Sync just worked—if the game and GPU could handle it, I'd get 165 FPS. However, after switching to an AMD GPU, enabling any flavour of V-Sync capped my framerate at 60 FPS!
So, what was the issue?
The key difference is in how NVIDIA and AMD handle refresh rate detection. NVIDIA queries the monitor directly, but AMD relies on the Windows settings. If the refresh rate in Settings > System > Display > Advanced Display Settings is left at the default 60Hz, AMD’s Adrenalin software assumes that’s the monitor's maximum refresh rate.
Once I manually changed it to 165Hz in Windows, everything started to work as expected.