Hola,
La respuesta que ha dado Eddy es la correcta, al primer planteo.
En tu segundo mensaje cambia la cuestión de manera liminar (si entiendo bien lo dicho ahí). Es correcto que el firewall en principio no permita el acceso de un protocolo "x" en una red pública y que si lo permita en una red privada, conforme lo dices en tu segundo post.
Podrías dar más datos sobre la app del teléfono, como funciona, protocolo etc.
Igualmente, el comportamiento entiendo que es el correcto (al bloquear el servicio en una red pública y permitirlo en una red privada) y que en el fondo se desea ese comportamiento (en otras palabras, es el comportamiento deseado y no se debe a un error de programación). Y si no obedece a la regla puesta por ti, dejándo de lado errores a la hora de confeccionar la regla, probablemente sea para proteger a la gente inexperta que por error (sin tener el conocimiento necesario de lo que está haciendo) habilita la apertura de un puerto "x" para un protocolo "z" en una red pública.
Saludos.