A documentação para VirtualDocumentRoot diz para usar none para ativá-lo off, então eu assumo o que você precisa fazer é adicionar isso à sua seção <VirtualHost> :
<VirtualHost *:80>
DocumentRoot /Users/cameron/Sites/laravel.test/public
VirtualDocumentRoot none
ServerName laravel.test
</VirtualHost>
Isso não é suficiente: ao usar NameVirtualHost , se uma solicitação recebida não corresponder ao bloco ServerName / ServerAlias de qualquer <VirtualHost> , o primeiro bloco <VirtualHost> será usado, não Não importa o nome que tinha. Neste caso, ele causa todos os outros nomes de host para esta diretiva VirtualHost também.
Uma maneira possível de corrigir isso seria mover a diretiva VirtualDocumentRoot para um bloco <VirtualHost> colocado na configuração antes de qualquer outro site. O ServerName deste bloco não deve importar, algo como:
<VirtualHost *:80>
ServerName bogusname
UseCanonicalName Off
VirtualDocumentRoot /Users/cameron/Sites/%0
</VirtualHost>
O nome falso deve garantir que este VirtualHost será usado apenas no caso "padrão" de nenhum outro VirtualHosts que corresponda ao pedido.