The language here is somewhat overly narrow to assumption of the tools used.
There clearly is support for more than 15 ports, or expansion hubs would make no sense on Mac.
The limit is relative to the point of attachment to bus: 15 at first tier (so to speak)
Look at USBmap
Python script for mapping USB ports in macOS and creating a custom injector kext. - corpnewt/USBMap
github.com
//Python script for mapping USB ports in macOS and creating a custom injector kext.//
This tool helps you list, identify, and select the 1st tier ports you want to enable, so you get the best fit to your needs.
By selecting carefully you can ensure essential ports are available such as audio controller, skip onboard decorative case LED controller, and reduce USB2 assignments to ensure onboard hubs and USB3 are enabled so you get best layout for your needs.
One of the useful things it does is help you find IDs of specific ports, so you can winnow the ports you don't need.
It's not trivial but it's very comprehensible,
The key aspects for new user are as follows:
1. It creates a kext that enforces the map, after helping you ID ports. You need to study your mainboard devices to understand its report. There is a basic arrangement to board/ID assignments you have to learn for your board. Finding ports involves plugging in a device with recognizable signature and updating the report, and locating the sig in the report. A bit clumsy but very workable.
2. USB2 and USB3 count as separate ports even though they share a socket
3. Some ports have no socket, e.g, audio or onboard hub. Some are board headers
4. Port ID assignment requires setting the proper port type #, which varies per point 3. You'll have to read guide as I can't recall off top of my head.
THIS APPROACH OBVIATES USBInjectAll and its lore/pitfalls.
*** Get rid of USBInjectAll unless you know you need it.
You have to play with this a little to learn/find your layout, so make a diagram to guide your work. Later it's not hard to update / change because your board doesn't change.
I use this with OpenCore on my kit and it works well.