Suponho que por "mapear endereços IPv6 para IPv4 em uma rede local" você quer dizer "encontre um endereço IPv6 que algum host esteja usando, dado um endereço IPv4 que esteja usando", ou vice-versa.
Seu método de identificação de hosts por seu endereço MAC é quase tão bom quanto o esperado.
IPv4 e IPv6 são protocolos de rede diferentes. Não existe nenhum tipo de "mapeamento" entre eles. Um host pode usar um ou mais endereços IPv6, pode usar um ou mais endereços IPv4, pode usar alguns dos dois ou nenhum deles. Eles não estão "conectados" uns aos outros.