I wonder if requester specified "https" in the URL for a VH which does not support https, will the conditional check still add the Strict Transport Security header in the error response.
Se o host virtual não oferecer suporte a HTTPS, a conexão falhará e o navegador não obterá uma resposta HTTP, portanto, não poderá recuperar nenhum cabeçalho HTTP.
Então, sim, você está seguro para adicionar HSTS com base nessa variável HTTPS.
Ou, se ainda estiver preocupado, basta adicioná-lo à configuração do host virtual HTTPS e não à configuração de nível superior. Essa é a minha opção preferida, pois permite cabeçalhos de HSTS diferentes por host virtual (por exemplo, se você não estiver pronto para usar o atributo includeSubDomain
no domínio de nível superior, pois alguns subdomínios ainda não estarão disponíveis no HTTPS).