I did some experimentation after the initial success and posted more about it here: https://github.com/openwrt/packages/issues/16818#issuecomment-1456407848 and follow-up https://github.com/openwrt/packages/issues/16818#issuecomment-1476278433
Removing both packages, I've confirmed the knock works but entry doesn't; then re-added only kmod-ipt-nat and found that it works again, so only that module is needed.
It was while trying to debug the missing routing entries with iptables -t nat
when I was getting
iptables v1.8.7 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
I'm on OpenWRT 22.03.2 on a WRT3200ACM. I doubt 22.03.5 will be that different, but might be worth trying the older build.