Simply add a rule at the bottom of each screen's rule list to override it.
<<
Here's what happens in rules.debug when I add my own custom catch-all-block to the bottom of Firewall->Rules->WAN:
User-defined rules follow
.
.
.
pass in quick on $lan from 172.19.1.0/24 to any keep state label "USER_RULE: Default LAN -> any"
pass in quick on $enc0 from any to any keep state label "USER_RULE: Permit IPSEC traffic."
===> block return-rst in quick on $wan proto tcp from any to any flags S/SA label "USER_RULE: test return-rst block-all rule" <====
VPN Rules
pass in quick on fxp1 inet proto tcp from any to $loopback port 8021 keep state label "FTP PROXY: Allow traffic to localhost"
pass in quick on fxp1 inet proto tcp from any to $loopback port 21 keep state label "FTP PROXY: Allow traffic to localhost"
–-> pass in quick on fxp0 inet proto tcp from port 20 to (fxp0) port > 49000 user proxy flags S/SA keep state label "FTP PROXY: PASV mode data connection" <---
enable ftp-proxy
pass in quick on fxp2 inet proto tcp from any to $loopback port 8022 keep state label "FTP PROXY: Allow traffic to localhost"
pass in quick on fxp2 inet proto tcp from any to $loopback port 21 keep state label "FTP PROXY: Allow traffic to localhost"
IMSpector
anchor "imspector"
uPnPd
anchor "miniupnpd"
My custom catch-all block rule for the $wan interface (denoted with '===>') appears before the VPN Rules, IMSpector and uPnPd sections. It now interferes with one of the VPN rules (denoted with '--->'). I don't know what goes in IMSpector or uPnPd, but it's likely any catch-all block rules I'd add to the User-Defined section would interfere with them, as well as any future work you do adding additional sections to rules.debug after the user-defined section.
By definition, catch-all block rules like your "Default block all just to be sure" rules must appear at the end of the pf ruleset. The WebGUI does not give you the ability to modify them, nor position these kinds of rules at the end.
I'll investigate creating a patch.