Some additional comment on this, as been there...
Linux networkmanager will assign a higher metric on non-ethernet interfaces (ideally) to de-preference wireless over wired, but they still both get an address. In the same subnet, the metric is what determines preference. You can tweak metrics, but usually depend on the network interface and system preferences.
This has been a problem for decades, but generally managed by networking stack setting metric preference on routes. Wired == best, wireless, vpn, others, less. VPN sometimes add more specific routes to force traffic for longest prefix match routing preference (openvpn advertises
0.0.0.0/1 and
128.0.0.1/1 to override
0.0.0.0/0), but it comes down to standard networking preference of prefix-match or metric. This is standard networking.
Linux uses bridges in dd-wrt boxes to bridge wireless to wired networks, this is how 99.8% residential routers work, they *can* be separate, but simply never works in a house. Things like apple's mullticast media (like everything) implementation mean different subnets break everything apple (and everyone that sniffs their heels) as they don't work when using multiple subnets. This is mostly true for android too with anything use mdns multicast. Same reason apple devices are cantankerous in every enterprise, nothing of theirs is designed to operate across subnets in anything but a house properly. This usually requires mdns multicast reflection and other magic vendors build in just to appease apple.
Why I say apple's don't belong in enterprise - they were never built for it, but rather as a speak&spell for your grandma. This from someone with a mac128k and an se/30 still sitting around somewhere.
Short terms, don't rely on multi-homing between subnets if you can avoid it. It usually never works out well, workstations or servers.
-mb