Parece que você tem alguns equívocos sobre o TLS / SSL. A solicitação HTTP não é criptografada pela chave pública do servidor. Ele é criptografado por uma cifra simétrica usando uma chave negociada no aperto de mão anterior.
Breve descrição do handshake TLS: O servidor e o cliente negociam algumas chaves simétricas do ciphersuite e alguns outros detalhes. Para evitar o MITM, o servidor geralmente envia seu certificado (cadeia) para o cliente e autentica o handshake usando a chave no certificado. (Há também algumas outras variantes, por exemplo, autenticação de cliente ou TLS-PSK, mas elas não são muito usadas com HTTP.) O cliente pode validar o certificado (da maneira usual) ou ignorá-lo.
Embora o SNI seja importante ao usar vários certificados TLS em um IP, não é essencial que o servidor possa descriptografar a solicitação. Sem o SNI, o servidor não sabe qual cadeia de certificados deve ser enviada, portanto, o servidor geralmente escolhe um (por exemplo, o primeiro vhost), que pode ser obviamente um errado. Se o servidor selecionar cadeia de certificados incorreta, o cliente deverá recusá-la (para que não continue enviando a solicitação HTTP). No entanto, se o cliente ignorar o certificado (ou se o certificado inválido estiver marcado como confiável para este site), ele poderá continuar com êxito. Como a chave simétrica usada para criptografia não depende do certificado (o TLS foi projetado para funcionar também sem certificados), o servidor pode descriptografá-lo.
Apenas uma pequena nota por que estou escrevendo sobre o TLS, enquanto você perguntava sobre o SSL: o TLS é a nova versão do SSL. Todas as versões do SSL são consideradas inseguras para uso geral, portanto estamos usando principalmente o TLS (1.0, 1.1, 1.2) agora.