I think the need to run a dual-stacked network, especially one that serves a wider customer base will be required for years, perhaps a decade or more, to come. If we were able to control every device and know it has a well-behaved v6 stack, then it might be a different story (which might be the case of T-Mo, as handset variations are limited in scope and well-defined in that scope, and behavior, mostly). But we still need v4 somewhere, and will continue to need it until the bulk of the internet is migrated.
I've had the luxury in the past of having complete control over the devices running in a v6-only network and even then it was a struggle to confidently say that everything had perfect connectivity at all times, even with tricks like 464XLAT or SIIT [2] at the edge. I can't imagine the pain of a network with heterogeneous customer devices running v6 stacks of varying quality.
Anyway, lots of words to say that it theoretically could be done, I just don't see it successfully being done with all of the variations in a consumer-facing network. The gulf between theoretical and the practical implementation is vast. Personally, the going rate for a block of /24 or /23 or whatever size is a small price to pay for compatibility.
[0] https://datatracker.ietf.org/doc/html/rfc6877
[1] https://datatracker.ietf.org/doc/html/rfc6877#section-2
[2] Stateless IP/ICMP Translation