@mohiuodin1
For returning traffic you don't need a WAN rule.
Normally, when traffic is allowed to go out, from LAN to WAN, the related returning traffic is allowed to get back into the WAN, to be send to the device on the LAN network.
That's what state-full fire-walling is all about (my words).
That said, the 'kernel' has to recognize the send (from LAN to WAN) traffic, so it can match, recognize the returning traffic. If it can't, it will handle WAN incoming (the return) traffic as 'not related', and it will block it.
I saw the github main page, and the "iptables" examples, where iptables was instructed to do 'close to nothing' (my words) with the packets, as 'raw' option is needed. The kernel (Mac, Windows or Linux- not FreebSD !!) is even told to disable auto generated RST packets.
The fact that no FreeBSD pf instructions (options) are given could mean : "don't even bother, it's a no go (for the moment)".