Eu descobri a solução.
Ajustar a métrica da interface para um número maior do que os adaptadores ethernet / wifi existentes fará com que ela prefira os servidores DNS na rede local, mas as regras da NRPT ainda funcionarão para enviar consultas DNS para o meu próprio domínio para os meus servidores VPN.
No entanto, não há como ajustar a métrica de interface para uma conexão VPN no powershell, nem no VBscript, nem no .NET, nem no VPNv2 CSP.
Se a VPN estiver conectada, a métrica pode ser alterada no PowerShell com o cmdlet Set-NetIPInterface, mas quando a VPN não estiver conectada, ela não será exibida. E as alterações lá não persistirão durante as reinicializações.
A única maneira de alterá-lo parece estar editando o arquivo C:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk
e alterando as linhas IpInterfaceMetric
e Ipv6InterfaceMetric
para números mais altos. Eu mudei os dois para 100.
Depois disso, e em combinação com as regras da NRPT, o DNS funciona conforme desejado - todas as consultas, por exemplo, são enviadas para os meus servidores DNS do AD. Qualquer outra coisa (incluindo example.com) é enviada para os servidores DNS de sua rede local.