Hello @Andy_Jones,
Let me take a step back and walk through what is happening here in full detail, because this is a genuinely confusing situation - and, importantly, explain why it is not something ARC can influence.
The setup: your home network uses the 192.168.1.x range, and your Roon Server lives at an address in that range (192.168.1.13 in your example). Your Tailscale setup makes that home range reachable through the tunnel, so that when you’re away, packets addressed to 192.168.1.x are supposed to be carried home via Tailscale.
The collision: the holiday let’s WiFi also uses 192.168.1.x - it’s one of the most common default ranges in consumer routers, which is exactly what mjw flagged. So when your iPhone joins that WiFi, from the phone’s point of view there are now two different networks claiming to be 192.168.1.x: the WiFi it is physically connected to, and your home network behind the tunnel.
Why the phone picks the wrong one: which path a packet takes is decided by the operating system’s routing table, not by the app that sent it. When ARC asks to reach 192.168.1.13, iOS consults its routes, sees that the directly connected WiFi network matches that range, and hands the packet to the local WiFi - it never enters the Tailscale tunnel at all. Whatever sits at .13 on the holiday let’s network (if anything), it is not your Roon Server, so the connection fails. On mobile data there is no local 192.168.1.x network competing for that route - the tunnel is the only match, and everything works. That is precisely the split behavior you are seeing.
Why ARC can’t fix this: ARC, like any iOS app, hands its traffic to the operating system and has no say in which interface the OS routes it through. The routing decision happens below the application layer, in the network stack itself. This is also why it isn’t specific to ARC - any application trying to reach a home 192.168.1.x address from inside a colliding network fails in exactly the same way. The apps that do “work through Tailscale” for you work because they address your devices by their Tailscale IPs (the 100.x.y.z range) or MagicDNS names - a range deliberately chosen so it can never collide with any local network. With ARC’s current implementation, we cannot bypass this at the app level.
If you’d like to read further: Tailscale’s own documentation on subnet routing discusses this exact overlap problem (Subnet routers · Tailscale Docs), how routing decisions are made is covered here (Longest prefix match - Wikipedia), and this article explains why 192.168.0.x / 192.168.1.x collisions are so common (Private network - Wikipedia).
What you can actually do: as mjw suggested, once you’re home, change your home LAN to an uncommon range - for example 192.168.73.x. Collisions then become very unlikely, and this problem disappears at hotels, holiday lets and cafes alike. Until then, mobile data remains the reliable path.
I realize it’s an unsatisfying answer, but this is plain IP routing - and it bites every VPN product in the same way.
Thanks!