Para usar recursos específicos do protocolo, você deve usar o modo apropriado. O modo tcp lhe dá acesso apenas a recursos específicos do tcp, mas para obter recursos específicos do http, como escolher o back-end baseado no URI, você precisa ter o modo http.
Infelizmente o HTTP / 2 parece muito diferente do HTTP / 1.xe não é suportado pelo modo http atualmente, então você tem que usar o modo tcp. Isso também significa que você não pode tomar nenhuma decisão baseada em URI contanto que você queira suportar HTTP / 2.
É esperado um melhor suporte para HTTP / 2 com o haproxy versão 1.7. Do link :
May, 15th, 2015 : HTTP/2 is out!
Today, HTTP/2 officially exists as RFC7540 and RFC7541. ... Version 1.6 will not support HTTP/2 yet ... We expect to support it by the end of the year, during the 1.7 development cycle.