Acho que você está confundindo a função de um endereço IP e nome de domínio com relação às conexões HTTPS.
Um certificado (no contexto de HTTPS) não tem conhecimento de endereços IP e cuida menos - tudo o que importa são os nomes de domínio aos quais está associado - e estes são codificados permanentemente no certificado.
Quando sua conexão HTTPS está sendo estabelecida, o nome de domínio é passado usando um cabeçalho ("host: xxxx") - e o certificado valida contra isso, independentemente da interface em que ele entra.
Por isso, quando você vai para o localhost: XXX, o certificado não corresponde, pois o host local não está na linha de hosts do cabeçalho e gera um erro. Da mesma forma, mapear 127.0.0.1 para o nome de domínio e usar o nome de domínio funciona bem.
[Eu notei, por uma questão de completude, que eu assumo que o Virtualhost pode se ligar a qualquer IP com a mesma configuração]