Been here, done this; here's what I figured out:
The phone has two distinct charging rates, a slow rate for when it's plugged into a USB port, and a fast rate for when it's plugged into a charger.
The catch is finding a charger that the phone identifies as a charger and not a USB port. I'm not sure about the specifics, but the primary way it tells has something to do with how the charger and/or USB cord is wired.
I've found that the majority of cheap 3rd party chargers can't actually be identified by the phone as a charger (instead of a USB port), so the phone chooses the slow rate.
Use a battery status monitor to determine how the phone is "seeing" your charger when it's plugged in. It will say something like "Charging -- USB" or "Charging -- AC." (I use an app called "Battery Monitor Widget Pro." The free version, "Battery Monitor Widget," will also work.)
You'll need to find a good quality charger/cable combination, and the problem should go away.
EDIT: Oops, I see you're tethering on USB, in which case, I don't think there's anything you can do except switch to wireless tethering, and plug in with your AC charger. The AC charger should be able charge and run the hotspot at the same time no problem. (With my Thunderbolt, I do prefer to start any hotspot sessions will a near-full battery, or else it tends to overheat and stop charging. In any case, it does not discharge during hotspot usage with a good charger.)