O problema é que o seu primeiro VirtualHost tem a linha
ServerAlias *.mydomain.com
Isso corresponde a todos os subdomínios. Como os VirtualHosts são analisados na ordem em que aparecem no arquivo de configuração, o Apache encontrará este VH e nunca mais verá o próximo.
Em outras palavras, você precisará mover os dois domínios de modo que a entrada VirtualHost dos subdomínios apareça acima da entrada do domínio principal.