@jaxx If I understand your questions correctly:
cannot get the location with Python
USB-OTG
Hotspot source auto switch between WiFi/LTE
1
The expected way of getting GPS coordinates is via the Qt interface. You can however check out this Python script which among other things obtains the location, by searching in the output of the test_gps command
2
I remember usb devices working in Ubuntu Touch, could it be a problem with the specific hub?
3
You can theoretically write a script with nmcli/network manager, I will test later if the default hotspot service can work this way.