Você está perguntando sobre duas coisas diferentes: vazamento de nome de host pelo cliente enviando SNI e vazamento de nome de host pelo servidor enviando um certificado. Estes são completamente independentes um do outro; O SNI não força um certificado a ser enviado, e desabilitar o SNI não impede que um certificado seja enviado.
Cliente para servidor
during the handshake process, the SNI extension exposes the website I'm communicating with
Se você estiver se comunicando com os seus próprios servidores, simplesmente não envie a extensão SNI. É opcional na maioria das bibliotecas de clientes do TLS. (Por exemplo, no GnuTLS ele não é enviado por padrão, a menos que gnutls_server_name_set () seja chamado.)
Por outro lado, para sites aleatórios na Internet, muitas vezes é inevitável.
Servidor para cliente
Is there a hack or the architecture of SSL/TLS allows communication with a Server without requesting it's certificate
O TLS suporta outros métodos de autenticação do servidor - o TLS-PSK é a alternativa mais comum (embora geralmente funcione apenas com servidores pré-configurados com a chave compartilhada; não sites aleatórios na Internet).
Como alternativa, o certificado pode conter um nome de host aleatório ou nenhum nome de host eo cliente o verificará usando outros métodos (por impressão digital ou hash SPKI) - o TLS não requer o uso de um nome de host.