Honestly, I don't know why so many carriers do v6 with NAT, cause intuitively they wouldn't. Maybe someone else knows. I know why a home or office would do it, it's easier to reason about there.
I got a private IPv6 only on AT&T cell when I checked a couple of years ago (to be clear, not a public one with inbound-deny). Will check again.
Edit: Ok not sure what to make of this now. On an iPhone rn so it's tricky, the Net Analyzer app says I have 5 2600:s on cell, which should be the public range, but my public IP according to test-ipv6.com is a different 2600: from all the above. Wonder if those 5 are actually the EPC.