I would:
Set the VPN hosts I want to route only over the VPN to use free, outside name servers (google, quad-9, level3, etc) using DHCP or Static or whatever.
Policy route the DNS queries out the VPN with all the other internet traffic.
And you're done.
Everything you just described is fine until the VPN is down and all of your DNS breaks for everything.