O Apache pesquisará o nome do host fornecido no cabeçalho Host: da primeira definição vhost para o último vhost definido. O primeiro vhost correspondente é usado. Se não houver correspondência, o primeiro vhost definido será usado como o vhost padrão.
Você deve definir seus vhosts existentes antes de definir o catchall para example.com. Seu último vhost definido deve ser seu padrão. Lembre-se de que o ServerName não pode conter curingas enquanto ServerAlias pode.