I think this would be a matter of adding a rule to the Prerouting table but I don’t think ZS provides the ability in the GUI. You could do it in shell mode.
Maybe PFsense was ending the request out to the WAN instead of routing at over the LAN and so your port forwarding on the WAN was directing you to the correct server.
You could try creating a rule in Netbalancer to send all traffic destined for your Public IP from your LAN out your Gateway. This might have the traffic return to the WAN side and be forwarded correctly.