hi there!
I setup my openwrt as OpenVPN server and my Mac can connect just fine (tun, not tap) but it doesn't see other devices on the network: they don't automatically show up in finder (this worked with vpn over tap interface).
how do I get my other Macs and Bonjour devices to show up on my Mac connected to home network over VPN without switching back to TAP VPN? I tried playing with Avahi, mdnsd and other packages but I can't get it to work.
Since you've got a single client, or perhaps a couple, and, from what I can tell, want it to be as if they are on your interior network, why not just a use L2 tunnel?
Forcing routing on yourself seems like unnecessary complication to me, pushing you into the world of "faking" L2 networking over a L3 boundary.
The iOS VPN API supports only tun-style tunnels at the moment. This is a limitation of the iOS platform.
You might look into IPsec-based protocols, or perhaps Wireguard.
Edit: I didn't see much helpful at https://developer.apple.com/documentation/networkextension as, at least as I read it, is about routing packets, not providing L2 bridging of any sort. There may be other APIs that can be leveraged on an iOS device.