O RFC 6066 não especifica nem recomenda nenhum erro HTTP específico no caso de o nome do host enviado via SNI não corresponder ao cabeçalho do Host HTTP. Ele faz recomendar que o servidor aborte o handshake TLS se o nome do host SNI não for aquele para o qual ele fornece serviço. Da seção 3 :
If the server understood the ClientHello extension but does not recognize the server name, the server SHOULD take one of two actions: either abort the handshake by sending a fatal-level unrecognized_name(112) alert or continue the handshake.
Como uma solicitação malformada pode passar pelo handshake de TLS e precisar ser rejeitada em HTTP, é necessário um código de resposta HTTP. De todos os que existem, apenas um realmente se encaixa na situação:
The 400 (Bad Request) status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
Esta é, de fato, a resposta que a RFC 7230 especifica. Da seção 5.4 descrevendo o cabeçalho do host:
A server MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message that lacks a Host header field and to any request message that contains more than one Host header field or a Host header field with an invalid field-value.
Vou recomendar strongmente contra usando 502 para isso. Sua semântica indica que algo está errado no lado do servidor e que a solicitação seria bem-sucedida se fosse tentada mais tarde.