sigh
Prior to 2011 or so: correct.
Post RFCs 6146 / 6147, no: IPv6 is backward-compatible with IPv4.
tl&dr: An IPv6 AAAA DNS record is synthesized from the existing IPv4 A DNS record, and a packet is sent to a NAT64 platform, where it's translated to IPv4, usually with the same one-to-many NAT (NAPT) that's staved off IPv4 exhaustion for decades. This scales better than straight CGNAT, because any traffic to IPv6-native destinations doesn't need to go through the NAT64 platform.
The problem, however, is that IPv4 is not meaningfully forward-compatible with IPv6...or any other protocol that isn't IPv4, like 2026's draft-thain-ipv8.
IPv4 has 32-bit addresses. In order to send a packet, the destination also needs to have a 32-bit address.
IPv6 has a 128-bit address. Clearly this won't work.
draft-thain-ipv8 describes a 64-bit address. This also won't work.
What you can do is set up an IPv4 address on a NAT platform, that gets translated to an IPv6 address (along with the source address). This works today ("NAT46"), but it doesn't scale well: it requires an IPv4 address to be reserved for each and every IPv6 address you want to be reachable from the IPv4-only Internet.
This works if you only have a few addresses that need to be reachable. This does not work if you want to keep your entire internal network IPv4-only and still magically be able to access the IPv6 Internet.
Your key takeaway from anybody trying to tell you that their IPv4 replacement protocol solves the classic "backward compatibility" problem that IPv6 doesn't, should be: either they're lying to you, or they don't understand the problem space well enough to understand that they're lying to you.
Criticism, angry letters, suggestions for other IPv6 GRIPES: please contact me on the fediverse.
Hat tip to Youssef Habchi for the fabulously angry-looking Road Rage font!