Hi Number 6, thanks for the above, it's much appreciated.
Don't worry if you have all the USBs', including 2.0 ports, reporting under the USB 3.0 tree, it's normal in this particular case. If my memory is good, it is the USBInjectAll.kext which causes this but it has it's reason to be here. If I wanted to be able to achieve sleep and still being able to use the USB 3.1 add-in card (which is going to work under 3.0 speed) I have had to keep that kext present in Clover. Your case might be more or less the same. This is the only method I've found to get things done and to satisfy all the required. The only trade off is that it will slightly mix things up in the reports, but that's all.
That's strange that your IOReg doesn't show any EH01. Well, may be it's structured under some different naming. I think it will appear after you have done the name changes within the DSDT, for ex: EHC1>EH01. If this has not been done yet it might not appear under the IOReg report. If you have not yet done these changes in the DSDT, then try to search EHC1 in the app and see what shows up. For your info; No, it's not related with whats going on with your System Profiler report.
Have you got your NVMe working via Clover's patching?
So we're kinda having the same reason to use OS X!! Mine is for Logic!
It's true. I mean on my end I can guarantee you all ports are working.
It looks like you are having difficulty to compile your .aml. I suspect that your are using the 5.0 or 5.1 ACPI. In the MaciAsl app go to Preferences>iASL> then make sure that ACPI Specification is set to 4.0 only!! Try that and see it if compiles successfully.