The only tricky bit is forcing the Pi's USB port into host mode by default. I thought the hub was defective but it worked when I put an OTG adapter into the micro USB port. The default auto detect behavior doesn't work with this since it doesn't connect to the OTG pin.
I had to edit /boot/firmware/config.txt and add under the [all] section:
[all]
dtoverlay=dwc2,dr_mode=host