Не нужен здесь mod_rewrite. Даже не смотрите на него.
Хост _default_ тоже тут не при чём.
Надо понимать, как именно Апач ищет подходящий под запрос сайт.
1. Если есть IP-bound виртуалхосты и запрос пришёл на один из IP адресов, в первую очередь просматриваются они. Если точного соответствия не нашлось, выбирается первый в списке привязанных(!) сайт и запрос отправляется на него.
2. Если IP-bound хостов нет, или запрос пришёл на другой адрес, просматриваются хосты с пустым адресом ("*", "_default_" - это всё "пустые" адреса), и при отсутствии подходящего сервера запрос отправляется на первый в списке.
Мало назвать виртуалхост _default_, надо ещё чтобы он был первым в списке выбора. Этого достигают, создавая для него линк с именем "000-...conf".
Проверить список(списки!) выбора можно командой `apachectl -S`.
Блокировка и редирект делаются не просто, а очень просто:
<VirtualHost *:80>
ServerName example.org
ServerAlias www.example.org
Redirect permanent / https://www.example.org/
</VirtualHost>
<VirtualHost *:443>
ServerName example.org
Redirect permanent / https://www.example.org/
...SSL config...
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.org
...server config...
...SSL config...
</VirtualHost>