"As expected" meaning that before this, all the ports worked in USB2 &3 without any of this.
"Working through this"- sorry wasn't clear, meaning I was / am reading through the instructions at top of this thread and in parallel doing a wee bit of the usb port testing. Yes, in initial stages, using the xhci portlimit quirk.
Okay, was successful in using this guide to fix USB ports issue on my Gigabyte Z390 M (non-gaming). A quick summary in case this is helpful, and thanks to the authors/contributors of this guide - it really is not as hard as it looks.
-I did the USB port configuration in Big Sur and got there just following the guide instructions here. Opencore 0.7.4.
-All my USB ports were working in Catalina (and previous os's). Upgrading to Big Sur for some reason made all the ports only work on USB3 - meaning I couldn't even run a keyboard, at least at first, except through a PCI card (cheap and was in the case when I built this - SATA + 2 USB2 ports).
-Short form - I followed the instructions - mapped out on paper which physical ports I had, and which ones worked with what, using two USB flash sticks (one of each).
-I did switch things up a bit by turning on and off the xhci portlimit quirk, and installing the usbforceinstall kext (whatever the correct name for that is) - modifying the config.plist and rebooting. Hackintool would reliably light up when a usb device was plugged in and identified.
-I did this to make sure I knew which ports would do USB2/3/both, and each reboot meant some differences in what the ports would recognise - in one case, only USB3 functioning, in another, only USB2 (the usb2 ports on PCI card worked in USB2 regardless).
-Being a bit slow and methodical, I did eventually get to the point where I was quite sure the USB ports I planned to use/needed physically were correctly identified. Deleted everything else in Hackintool to get below 15 ports and exported the usb ports kext, modified the config.plist to match, rebooted, and now everything works the way it should. (Xhciportlimit now off)
Apart from the intimidating aspect at first, it was all quite straightforward and more simple than it seemed to me at first (like much in hackintoshing). Difficulty level - low if you're comfortable with config.plist editing and updating using whatever tool you're comfortable with (I used propertree) and get the basics of kexts and how to put them in the right folder, medium if you haven't quite grasped config.plist in opencore. (No recent experience with clover)