I'm wondering why NAT64 needs something like DNS64 at all.
Couldn't an IPv6-only host, when trying to reach an IPv4-only host, just embed the IPv4 address of the target host in an IPv6 packet (by prefixing and/or padding it with zeroes) and leave the rest to "the network"?
The 0000::/something subnet could then be routed to an appropriate NAT gateway, which would take care of changing the IPv6 header to an IPv4 one, as well as doing the reverse for incoming responses.
Isn't that possible?