Mal so nebenbei.
In kurz: Du musst die Ausnahme als erstes nach der "RewriteEngine On" schreiben:
Eigentlich sollte der Validierungsprozess doch dem 301-Header zu https folgen können. Das mache ich zumindest auf meinen nginx-servern so. Auf port 80 überall "return 301 https://$server_name$request_uri;" und dann sämtliche Konfiguration auf port 443.
Funktioniert bisher Problemlos, solange der Host mit self-signed cert vorkonfiguriert ist. Mich würde es stark wundern, wenn das mit Apache nicht ginge.