Couldn't IPv6 simply embed the IPv4 address in the destination field of an IPv6 packet (e.g. by simply prefixing it with zeroes or some other, well-known prefix), and leave it to the default gateway to do all the translation?
Isso é exatamente o que acontece. O servidor DNS obtém o endereço IPv4 (registro A), prefixando-o com um prefixo (há um prefixo conhecido 64: FF9B :: / 96, mas pode ser qualquer prefixo específico do site). Como o resolvedor DNS64 faz isso em um só lugar, todos os hosts não precisam saber disso: eles simplesmente obtêm um endereço IPv6 ao qual podem se conectar. Se todos os hosts souberem como fazer o prefixo, você não precisaria do servidor DNS64, mas alterar todos os hosts pode ser difícil. Portanto, a parte DNS64 é inventada para fazê-lo automaticamente em um só lugar.