By using chain=forward … input is for traffic targeting router/AP itself.
And even if you fix it, it can happen it still won’t work, depending on overall configuration of AP2. So if it doesn’t work, post complete output of command /export hide-sensitive
There are a few problems with your setup. I’m assuming your AP1 has similar configuration …
AP1 (LAN part of it at least) and AP2 share same L2 domain … this is an assumption as you didn’t post config of AP1.
Which means that only one DHCP server (on one of APs) should be running
Your subnet is 24-bit (192.168.88.0/24) meaning that devices on AP1 and AP2 are supposed to communicate directly without (knowingly) involving any gateway. With default (and your current) settings firewall is only engaged for packets which are handled by router part of ROS (in contrast to switching/bridging part of ROS). AP2 is currently used exclusively as switch/bridge.
If you want to apply filter rules also to switched/bridged traffic, you have to instruct ROS to do so (setting /interface bridge settings use-ip-firewall) and force relevant traffic to pass CPU (by disabling HW acceleration on certain interfaces … if they are HW accelerated, wlan is not, ether ports usually are).
conceptually it would be better to separate guests from your LAN by deploying separate VLANs (between main router and the rest of LAN gear) and separate SSIDs for guests (tied to guest VLANs and by deploying appropriate firewall on main router this would mean effective separation of guest traffic from LAN traffic)
I was at an hotell in Brazil where there was many private appartement as well.
Since it was just one big Wifi subnet, I could see all that uses Chromecast .
It showed up on my phone and I could start/stop mute/unmute all streams.
So with only one big net, its not simple to block you from seeing other Chromecast and at the same time allow Chromecast