O Apache procura uma correspondência na ordem em que os domínios são definidos. Se eu entendi o problema corretamente, então ele pode ser resolvido definindo seus hosts para serem excluídos antes de capturar todo o host.
<VirtualHost *:80>
ServerName excluded.example.com
ServerAlias something.example.com ...
...
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias * *.example.com www.example.com example.com
RailsEnv production
...
</VirtualHost>