Chong, you may have confused yourself a little. You keep going back between Nexus 4 and S4. I think that you meant the Nexus 4 in all cases.
Yes, the Nexus 4 sold direct from T-Mobile and from Google are the EXACT same phone. There are no changes in hardware, software, firmware, antennas, or anything else. T-Mobile charges retail markup, and that's the only difference.
The T-Mobile HTC One supports all frequencies needed for GPRS/Edge/3G/HSPA+/LTE. The Nexus 4 lacks LTE. In the past, this wasn't much of an issue. However, with all of the recent refarming going on, T-Mobile didn't leave a lot of bandwidth for AWS HSPA+. This means that if your phone is picking up H+ (or 4G) in an LTE area, the bandwidth is VERY limited as most was allocated for LTE.
T-Mobile is making a serious push for LTE right now, and HSPA+ phones are feeling the crunch during this middling part. Once they get their network sorted, HSPA+ on AWS will be gone, replaced by HSPA+ on PCS, with AWS being for LTE. At this point, H+/4G phones won't have the issues that they're having now (though most would have been long since upgraded). It's also worth noting that under this new network, T-Mobile will eventually drop support for HSPA+ 42mbps. It will be LTE (AWS spectrum) with a fallback to HSPA+ 21mbps (PCS spectrum), currently used for Edge.
I tend to get overly technical, so if I confused you or failed to properly explain that, let me know and I'll write a 2-3 sentence summary in plain English