Eu tive o mesmo problema - ipv4 e ipv6 funcionam, mas se eu tentar pingar (ou navegar, etc.) qualquer nome com um registro IPv4, o Windows sempre preferiria o endereço v6 (AAAA). Existe lógica dentro da pilha de rede que classifica os endereços de uma consulta DNS para escolher qual preferir. No meu caso, ele estava preferindo os endereços v4, porque minha interface Wifi suporta wake-on-LAN, ou seja, sempre ligado sempre conectado (AOAC), mas aparentemente apenas para IPv4.
Há um ponto de rastreio do ETW que você pode ativar para descobrir exatamente o que está acontecendo quando ele classifica os endereços; Aqui está um exemplo de como fazer isso usando a ferramenta interna netsh. Estou usando www.google.com como exemplo, mas qualquer host com registros A e AAAA deve funcionar.
netsh trace start provider=Microsoft-Windows-TCPIP level=5 keywords=ut:TcpipRoute
ping -n 1 www.google.com
netsh trace stop
netsh trace convert %TEMP%\NetTraces\NetTrace.etl
Agora, veja o arquivo nettrace.txt
que ele escreveu e esperamos que você encontre uma pista. No meu caso, foi:
[Microsoft-Windows-TCPIP]IP: Address pair (::ffff:192.168.1.100, ::ffff:74.125.28.99) is preferred over (2601:XXX:XXX:XXX:XXX:XXX:XXX:XXX, 2607:f8b0:400e:c04::67) by SortOptions: 0, Reason: Prefer Aoac Interface (Rule D 1.1).
(onde XXX é o meu endereço IPv6 público que eu editei).
Eu não sei se há alguma maneira de substituir essa regra específica (agora eu sei porque está fazendo essa escolha, estou confortável o suficiente deixando-a como está).