As for DNS Benchmarking: I used a Shell Script to check the performance of my pi hole. I got that from github, just look for "dns benchmark github" and you'll find tons of script in all languages people wrote.
While self-hosting reduces the number of requests to upstream, it does not completely solve the problem (since OP still needs to forward requests to an upstream DNS). Do you have any suggestions for that?
Unbound can be configured to make requests directly to the DNS "root server" . These should not be censored. The guide linked by surfbum explains this accordingly.
Wait what does dns have to do with censoring? I though censoring would come from your internet provider and changing dns provider would not actually circumvent anything because the connection is still going through them. Am I completely mistaken?