Para que o mesmo site ouça em HTTP e HTTPS, você precisará de dois hosts virtuais, um para SSL e outro para conexões normais.
Remova: 443 do seu parâmetro "ServerName".
Acabei de criar uma configuração fazendo o que você solicita aqui, no meu ambiente de teste, e é isso que eu tenho no meu arquivo de configuração de trabalho:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin [email protected]
ServerName *.srv.fbh
VirtualDocumentRoot /www/%0/
SSLEngine on
SSLCertificateFile /etc/ssl/test/server.crt
SSLCertificateKeyFile /etc/ssl/test/server.key
</VirtualHost>
</IfModule>
Além disso, você tem um ServerAlias para www.domain.com - isso não é necessário, já que o curinga * .domain.com detectará isso.