https://github.com/rsta2/uspi
this project was ported from Circle USB so it may be worth comparing since you are using parts of Circle
also this comment may assist immediately with better usb hub related detection or lack of it:
Chadderz121/csud#10
specifically:
... if you want to connect a USB keyboard, for example, directly to the USB port of RPi model A/A+/Zero/Zero W because they have no on-board USB hub (LAN9512) and their USB port is the port of the root hub.
https://github.com/rsta2/uspi
this project was ported from Circle USB so it may be worth comparing since you are using parts of Circle
also this comment may assist immediately with better usb hub related detection or lack of it:
Chadderz121/csud#10
specifically: