Les serveurs racine sont massivement distribués. Pas de soucis de ce coté là.
Mais oui, idéalement il faut faire tourner un resolver par réseau, pas un par machine, ça ne sert pas à grand chose et c'est même plutôt préjudiciable (moins d'utilisation du cache, plus de fingerprinting possible d'un seul utilisateur en analysant les requetes...).
Le faire tourner sur le routeur, ou un serveur si on en a un, c'est mieux.