Existem (para todos os efeitos práticos) duas camadas diferentes em jogo com o que você está perguntando.
Um aplicativo que solicita uma ligação de porta está em um nível diferente daquele em que o firewall opera. Um aplicativo conversará diretamente com a pilha TCP / IP para obter uma ligação. Isso acontece completamente independentemente de qualquer firewall, independentemente de o firewall ser local para o host do aplicativo ou para um sistema remoto.
Os firewalls interceptarão pacotes nas portas para as quais eles estão configurados para prestar atenção quando as vinculações já tiverem sido concedidas. Então, uma vez que os pacotes começam a fluir através dessas portas, o firewall pode fazer seu trabalho e inspecionar o tráfego. É quando o firewall vai permitir ou bloquear.