TCP e HTTP são coisas diferentes.
TCP é a camada de transporte. Por definição, ele é responsável por carregar os protocolos da camada de aplicação (HTTP no seu caso) sobre ele. O TCP não é executado em uma porta. É o árbitro dos portos. Em outras palavras, quando você se conecta a um servidor HTTP, você se conecta à porta TCP 80. Ao se conectar ao HTTPS, você está se conectando pela porta TCP 443.
HTTP e HTTPS podem ser executados em qualquer porta TCP. 80 e 443 são apenas os mais comuns. Você pode fazer com que qualquer aplicativo escute essas portas, se quiser. Então, sim, você pode se conectar ao seu servidor pela porta 80 usando algum outro protocolo em vez de HTTP, mas somente se o servidor estiver configurado para escutar nessa porta usando esse outro protocolo e somente se HTTP ou HTTPS estiverem configurados para não use essas portas (supondo que você esteja executando um servidor web nele).
Agora, você mencionou que seu provedor está usando um proxy. Você pode fazer uma conexão não HTTP / HTTPS pela porta 80 ou 443? Isso depende de quão inteligente é o proxy. Se estiver realizando a inspeção de pacotes, pode-se verificar os cabeçalhos HTTP para garantir que o tráfego passando por essas portas seja de fato tráfego HTTP. Existem maneiras de fingir, mas depende de quão profundamente o proxy está inspecionando o tráfego. Se o proxy estiver bloqueando o tráfego que não é HTTP / HTTPS nas portas HTTP / HTTPS, não há muito o que fazer a não ser reclamação em seu provedor (ou pagar o preço mais alto, conforme o caso).
Quando se trata de como vários aplicativos móveis se comunicam, tudo depende de como o fornecedor os escreveu. A maioria usa HTTP ou HTTPS pela porta 80 ou 443, respectivamente, porque a maioria dos aplicativos móveis são apenas aplicativos da web. Mas não há nenhuma regra que diga que eles precisam, e não há nenhuma maneira real de você saber a menos que você cheire os pacotes de alguma forma.
Espero ter respondido à sua pergunta.