When undertaking the USB port discovery, you need to test EACH and EVERY port with a USB2 and then a USB3 device, to see which port(s) are activated in Hackintool.
USB3 physical ports always have a virtual USB2 and a physical USB3 port. You need to identify both the virtual and physical ports if you require both to work in macOS. Just identifying the USB3 port, doesn't mean the USB2 virtual port has also been identified and activated. In fact the opposite, only the USB3 port has been discovered and activated. So the USB2 side is undiscovered and not forming part of the USB configuration.
If you are running macOS Catalina, have you made sure you enabled the Kernel > Quirks > XhciPortLimit entry.
View attachment 551746 XhciPortLimit Quirk highlighted.
This Quirk temporarily enables all the USB ports, so they can be discovered in macOS.
Once you have a working USBPorts.kext added to your OC setup, you should disable this quirk and just use the USBPorts.kext you have created.
This is a screenshot showing the USBports.kext I use in my Z370 system. It will probably be different to yours, as we use different PC cases, different setups on the motherboard headers and will have chosen to activate different ports, for our own preferences.
View attachment 551747 Example of Z370 USB configuration
Just remember that any USB3 port will have a physical USB3 port and a virtual USB2 port, both need to be set with the connector type USB3. Think of them as companion ports, where both need to be set to match the physical port.
Only the USB2 motherboard headers will need to be set as Internal. This can be Front Case USB2 ports, Bluetooth module connectors or as in my setup a front case USB card reader. I use one of these card readers on each of my desktop hacks, as I used to take a lot of photos when I was working as a Chartered Building Surveyor. I still haven't got out of the habit of including one in nay build I create.
Any front case USB3 ports connected to the USB3 header(s) should be set as USB3, NOT as internal.
Any front case Type-C ports will need to be tested to see if it is a port incorporating a Switch, or not. Assuming the front case Type-c port(s) are connected to a Type-E motherboard header and not a second USB3 header, via an adapter.
Using the comment section in the Hackintool USB tab can assist you when it comes to identifying ports, and checking they are set with the correct connector type.
View attachment 551750 Rear I/O plate from your MSI Z370 Gaming Plus Motherboard
There are three rows of USB ports, so identifying them as top row left or right, middle row left or right and bottom row left or right would be sensible. The ports on the middle and bottom rows will each have a USB2 and a USB3 port. So they might be identified as Middle row left USB2, or middle row USB3 left. I am sure you get the idea.
The I/O plate shows you have 6 physical USB ports, 2 x USB2 and 4 x USB3. This means you have a total of 10 ports available on the rear I/O plate.
Your motherboard has 2 x USB2 headers (4 ports)along the base of the board and 2 x USB3 headers (4 ports each) along the right hand side of the board. So a total of 10 ports are available from the headers. These are highlighted in
CYAN on the screenshot below.
View attachment 551751 MSI Z370 Gaming Plus Motherboard, USB headers highlighted
Overall, this means you need to drop 5 ports, to be within the 15 port limit imposed by Apple.
The most logical way to start dropping ports it to see which ports you don't use.
If for example you only use one of the two USB3 headers, then this automatically means you can drop 4 ports in one swoop.
Then if you have a Bluetooth module connected to one of the USB2 headers, another port can be dropped, as the Bluetooth module usually has a 9-pin connector that fills a header on the motherboard, but only one of the two ports are being used by the BT.
If you are only using one of the USB2 headers, the other unused header accounts for 2 x ports, which you can drop if the header is not being used.
When you have your USBPorts.kext at a place where you think it is correct, post a copy here along with a screenshot showing the Hackintool USB tab containing the port configuration.