No te funciona así porque en la primera línea estás definiendo que sea únicamente cuando la petición incluye "www":
Cita: rewritecond %{http_host} ^www.dominio.com [nc]
Y porque no estás incluyendo la condición cuando el host incluye HTTPS.
No me hago responsable, pero si quieres probar un método exótico de hacerlo, prueba con esto:
Cita: RewriteCond %{SERVER_PORT} ^80|443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
O con esto:
Cita: RewriteEngine On
RewriteCond %{SERVER_PORT} 80|443
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
En ambos casos lo que hacen es redirigir las peticiones que van por el puerto 80 (por donde normalmente se sirve HTTP) y por el puerto 443 (por donde normalmente se sirve HTTPS) hacia el destino que deseas. Aunque el primer ejemplo tendrás que ajustarlo un poco para que siempre te muestre sin "www", que entiendo es lo que quieres lograr.