Routes:
Fritzbox: 192.168.2.0/24 with gateway 192.168.178.20 (Openwrt)
OpenWrt: 192.168.178.0/24 with gateway 192.168.178.1 (FritzBox)
Both use a non-overlapping address range.
Some more background: Some of my SmartHome devices are connected to the FritzBox (WLAN) and masquerading makes the connection between both subnets quite difficult. Actually it still doesn't work.
I don't believe this is a complex setup. But I haven't found any solution.
You do not have to use Masquerade instead you can set a static route on the Fritzbox to route 192.168.2.0/24 via 192.168.178.20
However that probably will not help as you still have different subnets and usually the smart home devices are only discoverable in the same subnet, there are workarounds like mDNS reflector and/or multicast proxy but it is easier to setup the OpenWRT router as a Wireless Access Point/dumb AP then everything is in the same subnet
The comment from @egc still applies: Without masquerading, all devices connected to the Fritz!Box will have a different subnet than the ones connected to the OpenWrt device. If you configure your OpenWrt device as a dumb AP (and not as a router), all routing will be performed by the Fritz!Box and all devices will be in the same subnet as DHCP is also handled by the Fritz!Box exclusively.
I really would like to drop masquerading. This is the reason for this post.
But I wouldn't drop my OpenWrt (Turris Omnia!) in favor of a dump FritzBox from my ISP (Vodafone). The FritzBox can provide DHCP to all it's devices bit my OpenWrt is responsible for 60+ devices in it's own network.
My final goal is to route traffic between both subnets. For this I want to drop masquerading in my Omnia and use standard routing, see initial post. But as soon as I drop masquerading on between Omnia and FritzBox my complete Omnia subnet is not routed to the FritzBox (and therefore internet) anymore.
It should be straight forward and I am completely lost why it doesn't work as expected.