Чисто теоретически может сработать следующее.
Устанавливаем на комп любой локальный DNS-сервер. В качестве родителя (куда стучаться за разрешением неизвестных адресов) указываем ему регулярный DNS (скажем, провайдерский), прописываем у него статические соответствия (с малым временем актуальности), нужные нам в VPN.
Пока всё как обычно... а вот теперь - фортель. Привязываем его слушать ТОЛЬКО на тот адрес, который указан в настройках VPN, а его самого прописываем ТОЛЬКО в настойках VPN-адаптера.
Что в итоге? Когда VPN-адаптер подключается, этот DNS-сервер ставится в начало очереди (кстати, поэтому, адаптер следует включать после загрузки станции). И соответственно через него идут все разрешения. Если адаптер остановить - этот DNS убирается, и первым становится тот, что в настройках другого адаптера - регулярный провайдерский (или там гугловый фри - неважно). А статические записи о ресурсах в VPN достаточно быстро, за 2-5 минут, будут вымыты из локального кэша.
Ещё разумнее - иметь собственный DNS-сервер в VPN-сети, и указать его в настройках VPN-адаптера. Работать будет так же, только не нужен дополнительный локальный софт.