Using USB tether appears to work... the key is that you DO NOT tether through the native android app, instead you connect it to PC and just leave it as charging/transfer mode. then inside of the PDAnet+ app you allow tether usage from in the app. it will use ADB to share the internet so all you have to do is allow access when the popup comes up on your screen.
Another way to setup unlimited fast-speed tethering is by using ssh tunneling inside of a (free, open source) termux app on the phone.
The setup is somewhat cumbersome but offers very reliable results once configured. In addition, the minimal configuration does not require paid apps. To automate the process two paid apps (Tasker and Termux:Tasker) are needed but for many people the investment may be worth it since tasker is an extremely powerful and useful app on its own and termux:tasker is not expensive (it can also be useful beyond tethering for automating other advanced things termux could do).
The link to instructions is at the end of the post. Below is a brief (or not so brief) description description of required configuration (complimented by automation steps) but go to the link to get a proper guide.
1. Install termux application, install python 2 package inside of termux and run configuration command in the link below.
2. install openssh package inside termux application. Configure ssh server as described in the link, this involves copying the client identity key to an appropriate termux folder.
3. Once you verified that you can ssh into the phone's ssh server (with hotspot running, of course) you can tether the phone: start ssh server on the phone by running the command "sshd -dD" inside termux app on the phone ("d" option is for debugging and can be dropped); connect your laptop to hotspot; run an appropriate ssh command on the laptop (see the link); configur proxy on the laptop; enjoy.
4. One of the configuration steps above involves figuring out the hotspot IP. It can be done in several ways. It is shown as the device WiFi/hotspot IP on the phone and as a gateway IP on a tethered device. On tethered linux device the hotspot has hostname "_gateway" one can use hostname instead of IP. I do not know if the same is true for Mac or Windows.
5. You can automate the process by installing two paid apps: "Tasker" and "Termux:Tasker". With these apps you can automatically start/stop ssh server on the phone whenever hotspot is active.
6. Similarly, on the laptop you should be able to automate proxy configuration and ssh connection whenever you are connected to a specific network.