I was having issues getting my Android device to use my local DNS server over VPN, what worked for me was setting it up through RethinkDNS. There's a setting to prevent DNS leaks by capturing all traffic on port 53 and directing it to the DNS server you set. It doesn't feel like an elegant solution but hey, it works.
Note, you'll have to make sure your private DNS setting is off, in the internet section of the system settings.