You understand, that you can locally filter DNS and then send these filtered requests to a remote nameserver, right? DNS filtering can absolutely happen locally. A great example for that is the /etc/hosts file on Unix/Unix-like operating systems (including Android, e.g. DivestOS locally filters network requests using a hosts file)