How do I make local domain work across SSID networks (with different subnets)

Hey guys, I have 3 networks SSIDs that are all on different subnets (the main one, lan on 192.168.1.x; the iot network is on 192.168.4.x, and the guest network is on 10.23.36.x), with the guest network being completely separate from the lan network; and the iot network being separate but the lan network can talk to the iot network one way, so the iot network can't talk back to the lan.

What I'm trying to do is have Bonjour work across the lan and iot subnets with the local domain instead of lan (my windows machines don't detect any of the devices via the lan domain name in the network folder in File Explorer). I've tried following this guide to get Avahi reflector working but it doesn't seem to do anything at all. How do I make it work across the networks?

Here are my configurations:

Network config

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdcf:4989:b220::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth0.2'
        option proto 'dhcp'

config device 'wan_eth0_2_dev'
        option name 'eth0.2'
        option macaddr '98:da:c4:7c:0d:24'

config interface 'wan6'
        option ifname 'eth0.2'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0t 2 3 4 5'
        option vid '1'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '0t 1'
        option vid '2'

config interface 'guest'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '10.23.36.0'

config interface 'iot'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.4.1'

config interface 'tun0'
        option proto 'none'
        option ifname 'tun0'
        option auto '0'

config switch_vlan
        option device 'switch0'
        option vlan '3'

Firewall settings

config defaults
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'

config zone 'lan'
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'lan'

config zone 'wan'
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        option network 'wan wan6'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option src_port '5353'
        list proto 'udp'
        option name 'Allow mDNS'
        list src_ip '224.0.0.251'
        option target 'ACCEPT'
        option dest_port '5353'
        option src '*'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option src_ip 'fc00::/6'
        option dest_ip 'fc00::/6'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config include
        option path '/etc/firewall.user'

config zone
        option output 'ACCEPT'
        option input 'ACCEPT'
        option network 'iot'
        option forward 'REJECT'
        option name 'IOTZone'

config forwarding
        option src 'lan'
        option dest 'IOTZone'

config forwarding
        option dest 'wan'
        option src 'IOTZone'

config zone
        option forward 'REJECT'
        option output 'ACCEPT'
        option input 'REJECT'
        option network 'guest'
        option name 'GuestZone'

config forwarding
        option dest 'wan'
        option src 'GuestZone'

config rule
        option name 'Guest DHCP and DNS'
        option target 'ACCEPT'
        option dest_port '53 67-68'
        option src 'GuestZone'

config rule
        option name 'IOT DHCP and DNS'
        option dest_port '53 67-68'
        option target 'ACCEPT'
        option src 'IOTZone'

config rule 'ovpn'
        option name 'Allow-OpenVPN'
        option dest_port '1194'
        option proto 'udp'
        option target 'ACCEPT'
        option src 'wan'

config zone
        option input 'ACCEPT'
        option forward 'ACCEPT'
        option name 'VPNZone'
        option output 'ACCEPT'
        option network 'tun0'

config forwarding
        option src 'VPNZone'
        option dest 'IOTZone'

config forwarding
        option dest 'wan'
        option src 'VPNZone'

Avahi settings

[server]
#host-name=foo
domain-name=local
use-ipv4=yes
use-ipv6=yes
check-response-ttl=no
use-iff-running=no
allow-interfaces=wlan1,wlan1-2

[publish]
publish-addresses=yes
publish-hinfo=yes
publish-workstation=no
publish-domain=yes
#publish-dns-servers=192.168.1.1
#publish-resolv-conf-dns-servers=yes

[reflector]
enable-reflector=yes
reflect-ipv=no

[rlimits]
#rlimit-as=
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=30
rlimit-stack=4194304
rlimit-nproc=3

DHCP settings

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option expandhosts '1'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option localservice '1'
        option confdir '/tmp/dnsmasq.d'
        option rebind_localhost '1'
        option rebind_protection '1'
        option logqueries '1'
        option domain 'local'
        option local '/local/'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config host
        option mac 'DC:4F:22:FA:4A:F2'
        option name 'PiPowerSonoff'
        option dns '1'
        option ip '192.168.4.131'

config dhcp 'iot'
        option start '100'
        option leasetime '12h'
        option limit '150'
        option interface 'iot'

config dhcp 'guest'
        option start '100'
        option limit '150'
        option interface 'guest'
        option leasetime '1h'

config host
        option mac 'DC:A6:32:99:DE:DA'
        option dns '1'
        option name 'omvpi'
        option duid '00020000ab11377fd0fde0b9c11e'
        option ip '192.168.4.120'

config host
        option mac 'DC:A6:32:C8:24:34'
        option name 'printerpi'
        option dns '1'
        option ip '192.168.4.130'

config host
        option name 'wled-octo'
        option dns '1'
        option mac 'C8:2B:96:2F:41:6C'
        option ip '192.168.4.132'