The answer is in the rom your device runs, and sometimes simply the build.prop edit for 4.4.x and above.
I had this exact same issue on my oem unlocked moto g 2015 with tmo's unlimited. I flashed an AOSP rom that uses the CAF toolchain on my moto and it works...I regularly get 2MBPS+ on my tablet connected to my moto's hotspot.
For my Nexus 4, Pure Nexus rom. Chroma also works.
It's the rom, everyone.
Now....having said that, tmobile, and vicariously metro pcs, utilize another form of throttling, as well, and this one affects your overall web speed for the entire account...including additional lines attached via a family plan. This throttle is dependent on your total data usage. I've noticed tmobile has mine set at about 25gb for the month. So this means when my billing cycle starts, so does the data counter. Once I hit my 25gb soft cap, "whenever the traffic in my area is heavy"...tmo's words, not mine...I get deprioritized, meaning those who have used less data will get faster speeds and I get 2g during those hours. Mine happens to be about 9am-midnight sat & sun and 2pm-midnight weekdays....sometimes a little later at night. During this time, there is NO SOLUTION to obtaining faster speeds, other than CHANGE YOUR LOCATION.....move around. Go to a friend's. Take a walk to the park a few blocks down. Once you move, your speed will get better. This is my experience.
I hope this helps....and INB4 'way to give away trade secrets'......they already know dude -.-