how to make DNS requests go over VPN

The VPN interface must be set as your default gateway. If you don't do this, only when you access addresses within the VPN interface's subnet will traffic traverse it. Tunneling won't change this. Doing it manually in Windows and Linux (and possibly OSX) involves using the route command (or ip route on Linux)

Most VPN software, including OpenVPN, can be set to take care of this automatically. Windows tends to have weirdness with its network commands so you want to let the VPN software handle it if possible on that platform. Ask your VPN provider for a configuration file or specific instructions that let you operate it in the way you want.