A carga útil de 512 bytes garante que os pacotes DNS possam ser remontados se fragmentados em trânsito. Além disso, em geral, há menos chances de pacotes menores serem descartados aleatoriamente.
O padrão IPv4 especifica que cada host deve ser capaz de remontar pacotes de 576 bytes ou menos. Com um cabeçalho IPv4 (20 bytes, embora possa chegar a 60 bytes com opções) e um cabeçalho UDP de 8 bytes, um pacote DNS com uma carga útil de 512 bytes será menor que 576 bytes.
Como o @RyanRies diz: O DNS pode usar o TCP para cargas maiores e para transferências de zona e DNSSEC. Há muito mais latência quando o TCP entra em ação porque, ao contrário do UDP, há um aperto de mão entre o cliente e o servidor antes que qualquer dado comece a fluir.