Hai capito giusto ma hai implementato male....
Leva la riga dal primo vhost
codice:
ServerName miosito.it
Inoltre, se l'accesso avviene in modalità https, devi mettere anche il virtual di default per la porta 443....

Il fatto di dover inserire i vhost nel httpd.conf è giusto ma non è corretto.
Sarebbe meglio, anche per semplicità di lettura e di modifiche, metterli in file separati, in questo modo
File httpd.conf, ALLA FINE del file
codice:
IncludeOptional sites-enabled/
A questo punto crei i vari file dei virtual host nella cartella sites-enabled. Per i virtual host di default, cioè "cosa ti mostro se mi inserisci un indirizzo non valido o che non capisco", il file deve essere chiamato 000-default.conf perchè l'inclusione avviene in ordine alfabetico e quindi 000 verrà prima di ogni altro
Il nome per gli altri file non è importante, basta che abbiano una logica (per te!)otrebbero essere pippo.conf, pluto.conf ecc, così come intranet.conf, extranet.conf, clienti.conf ecc ecc

Il lucchetto garantisce la comunicazione protetta tra il client e il server ma chiunque abbia accesso al sito potrà vedere i dati (sul browser). Se con "dati sensibili" intendi "riservati, solo chi è autorizzato deve vederli, modificarli, inserirli ecc", allora https da solo non basta. Se invece dici "voglio evitare che vengano intercettati o modificati durante l'invio o la ricezione da parte del Cliente" allora può andare bene.