Acho que _default_
é usado para definir um vhost padrão em uma configuração de host virtual baseada em IP. Você está usando hospedagem virtual baseada em nome, portanto, esta declaração na documentação
A default vhost never serves a request that was sent to an address/port that is used for name-based vhosts.
torna-se relevante.
Em uma configuração de host virtual baseada em nome, o primeiro vhost definido é o vhost padrão e será servido se nenhuma outra correspondência for encontrada, para que você possa fazer algo simples como
<VirtualHost *:80>
ServerName default
DocumentRoot /var/www/default
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com
</VirtualHost>
<VirtualHost *:80>
ServerName sub.example.com
DocumentRoot /var/www/sub.example.com
</VirtualHost>
Faz o que você quiser e veicula tudo, exceto example.com e sub.example.com do padrão.