I see you're using a EFI derived from my Asus Prime P D4 build.
Okay, you don't just need XHCIPortLimit enabled. You'll need these as well:
SSDT-AWAC.aml
SSDT-EC-USBX-DESKTOP.aml
SSDT-HPET.aml
SSDT-PLUG.aml
SSDT-UIAC.aml
along with the magic sauce - USBMapLegacy.kext which is designed for pre-Catalina OS USB maps. I built that at the same time as USBMap.kext and included it just in case. To use you must disable USBInjectAll.kext.
SSDT-DTPG and SSDT-TB3 or SSDT-TB3HP needs to be enabled for Thunderbolt functionality. HP stands for Hot Plug version.
I see you forgot to install IntelBluetoothInjector.kext and IntelBluetoothFirmware.kext for Bluetooth (which I have done). Enable these two for anything like from Mojave to Big Sur. Disable IntelBluetoothInjector and enable both IntelBluetoothFirmware.kext and Bluetoolfixup.kext if using Monterey (using an Intel BT card that is). If you are using a Broadcom card this fix will be somewhat different.
I've also added some values in the Device Properties section. Seeing that you are spoofing Coffee Lake in the CPUID section, ideally you should add the correct Coffee Lake IGPU values also. I use 00001259 and 12590000 which worked for me on a Comet Lake setup (booting from the Intel IGPU). If using an AMD card to boot it may be best to change the connector from 00 to 03 ie. 03590000. Device-id should stay the same ie. 12590000. I understand with the above details given it is a
Z690/Alder Lake we are working with (the IGPU technically
is unsupported) but give it a try nonetheless.
I also removed some of the SMBIOS details under your PlatformInfo section which didn't need to be there under Opencore, but the EFI should work for you as is. Give it a try.