I have all NVME slots filled on my 690 Hero and my GPU still runs at 16x. Gen 4 drives in slots M.2_1 & M.2_2. The other slot, M.2_3 has a Gen 3 drive.
I didn't plan anything, it all just worked out fine. So I'm thinking it might be your BIOS settings. Mine are pretty much all on defaults, at least as far as PCIe settings are concerned.
Z690 Hero, 12900K, BIOS 3701, MEI 2407.6.1.0, ME Firmware 16.1.32.2473, 7000X Case, RM1000x PSU, ASUS TUF OC 3090TI, 2 x 16GB Corsair RAM @ 5200MHz, Windows 11 Pro 23H2, Corsair H150i Elite AIO, 4x Corsair RGB fans, 3x M.2 NVME drives, 2x SATA SSDs, 2x SATA HDs.