As Melhores Práticas (e RFCs) ditam que você deve ter servidores DNS redundantes. Então, se você gerencia dois servidores (o que parece que você faz), eu recomendaria a configuração de ambos os servidores para lidar com DNS para ambos os domínios.
Você deve configurar 1 como seu servidor DNS "Mestre" e 1 como um servidor DNS "Escravo" (ou seja, o escravo replica as alterações feitas no mestre). Isto tem a vantagem adicional de apenas fazer alterações no mestre.
Supondo que você configure o DNS corretamente, você realmente não consegue decidir qual servidor DNS é usado para um site específico. É bom ter os servidores DNS dispersos geograficamente, de modo que, se algo acontecer como um desastre natural em uma área, seus domínios ainda serão resolvidos.
É muito melhor para um domínio resolver (mas ainda estar inativo devido ao fato de o servidor estar desativado) do que para que tudo fique inativo (o domínio não resolve nada).
O título da sua pergunta perguntará se o DNS e o Servidor da Web devem estar no mesmo local. A resposta que eu daria é que, se você gerencia apenas dois servidores, então sim - você precisa executar o DNS em dois servidores diferentes, e é perfeitamente correto executar o BIND ou outro serviço DNS no mesmo servidor que hospeda o site.
Apenas certifique-se de ter um servidor DNS redundante em outro lugar.
Em termos de velocidade, geralmente o servidor DNS mais próximo a você responderá mais rapidamente do que 1 que está mais distante, mas há muitos fatores e variáveis que explicam como o DNS funciona e como os servidores DNS respondem ... e como mencionado várias vezes, você precisa executar pelo menos dois servidores DNS.