Responder em Redirecionamento de novo domínio do Apache SSL é bom o suficiente. (Não vi isso enquanto escrevia a pergunta.)
Solução:
<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com etc
RewriteEngine on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
Usar %{HTTP_HOST}
no URL de destino parece funcionar bem com o Apache 2.4.
Qualquer método sem reescrever, como o nginx faz? Ou não vale a pena?