O problema era que a VM estava tentando iniciar o serviço Apache antes do Vagrant ter montado as pastas compartilhadas, e o httpd DocumentRoot estava apontando para um diretório inexistente. Eu segui essas instruções para configurar um evento do udev para esperar até que a montagem ocorra antes de tentar iniciar o httpd.