CentOS8 の firewalld は
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.0_release_notes/rhel-8_0_0_release

によると
direct rules で drop すればそこでおしまい
direct rules で accept したあとに firewalld でも評価される
ということらしい。

小一時間格闘してコレを見つけた。素直に iptables 使いますかね…