I'm not the OP, but when I tether with my Nexus S (running Cyanogenmod), I get an IPv4 address in RFC 1918 space. T-Mobile gives their handsets only an IPv6 address. They also used to use -I think- NAT64, which meant that direct access to resources by their IPv4 address failed. [0] IIRC, their IPv6->IPv4 bridging method has been changed, so you can access IPv4 resources by their address now.
[0] T-Mo was using -I think- the return of an A record in DNS lookup to establish a NAT mapping, so IP access without the lookup didn't trigger the mapping.
[0] T-Mo was using -I think- the return of an A record in DNS lookup to establish a NAT mapping, so IP access without the lookup didn't trigger the mapping.