Trabalhei em torno do problema no OS X criando uma imagem de disco esparsa na pasta do meu projeto e formatando-a para diferenciar maiúsculas e minúsculas.
Depois de montar a imagem esparsa, movi meu código para ela. Em seguida, substituiu a pasta "src" original por um symlink / alias para a imagem montada. Desta forma, a pasta compartilhada diferencia maiúsculas de minúsculas dentro do sistema operacional convidado.
Definitivamente, não é a solução mais elegante, mas fecha a lacuna entre o ambiente de implantação e desenvolvimento, e é por isso que comecei a usar o Vagrant em primeiro lugar.Talvez uma solução semelhante funcione para o Ubuntu e o Windows também?