I have the T-mobile $30 unlimited prepaid plan and I ran into the tethering block after getting my Nexus 5.

I was able to work around the issue by modifying the following sqlite database (you'll need root):
/data/data/com.android.providers.settings/databases/settings.db

You need to add a new entry to the global table called "tether_dun_required" with a value of 0.

It looks like you need to do this because some configuration data was added to Android for T-mobile that forwards tethered data to this APN: pcweb.tmobile.com
T-mobile is probably checking to see if your account has tethering enabled when you go through this APN.

After I made this change I also needed to change my APN settings so that it uses ipv4 instead of ipv6. It seems like tethering with ipv6 does not work 100% yet.

I hope this helps.