can't the router examine the SNI header,
Geralmente, um roteador funciona apenas na camada 3 do OSI, ou seja, não inspeciona o conteúdo do pacote, mas apenas o IP de destino. Para o roteamento baseado em SNI, seria necessário um entendimento do TCP e do TLS, que é mais complexo e mais caro (em termos de desempenho) do que o roteamento baseado em endereço IP. E isso geralmente também não é chamado de roteamento.
Haproxy does this .. hardware load balancers don't.
Você está misturando roteador (camada 3), balanceador de carga de hardware (camada 4 e talvez superior) e Haproxy (balanceador de carga de software). Um balanceador de carga de hardware nada mais é do que um dispositivo com algum balanceador de carga de software e talvez também alguma aceleração de hardware para ações específicas. Não há nada que torne inerentemente o balanceamento (não o roteamento) baseado em informações SNI impossíveis em um balanceador de carga de hardware e, como outra resposta, sugere que há produtos que suportam isso. Mas é claro que precisa ser implementado e custa desempenho - quanto mais você olha para o tráfego, mais lento ele fica.