Alright, So like I said I am on mint which is a T-Mobile MVNO so YMMV. I have mine apparently working, but I wouldn't call it supported. The following is what I THINK work, basically 2 things combined.
1) I noticed that if I added an APN (like my MVNO says to do) that I still get the error about defaut/dun not being allowed. I created it blank for that field, and it got a lot of things added, but not default nor dun. I then went back into the created APN and added default and dun to it. When I press save it still won't save, but if I press the home button then go back and look at it, they appear to be there. I still can't press save, but home button exiting appears to possibly save it
2) I believe from your previous research, that it was filtering this one out and only using the default T-Mobile APN still. So since I am using a MVNO, I saw there is a setting at the bottom of the APN called “MVNO Type” and “MVNO Value.” The MVNO Type has a few options, so I tried a few. When I set mine to GID, and didn't set MVNO Type (Which filled in on its own I guess) Something interesting happens. The default T-Mobile APN wasn't showing up any more. The only thing left was the new one I added (which due to the steps taken in part 1 above appear to have default and dun set). I rebooted my phone, and it remained the only APN and my data is working. I activated my hotspot, attached my chromebook, and I have internet coming from a T-Mobile IP address (so I know it was tethering).
Now it might be crucial that I am actually on a MVNO, but if I were on T-Mobile and having tethering issues I would probably try setting the MVNO flag and resetting everything else to be exactly the same. I wouldn't place bets on it working, but might as well see.
I would think that they should support some way of accepting these values for an MVNO, and what I did doesn't give me confidence that it won't just be “patched” out later.