Subnet router causing routing issue/conflict

I have a server (10.8.8.2) on my local network that is advertising a subnet route of 10.8.8.0/24 (same as my local network). On my laptop (Windows 11), if I enable “Use Tailscale subnets”, I immediately lose connection to all local devices except my server. When that option is checked, I can see in my route table that I’m learning 10.8.8.0/24 from both my regular interface and Tailscale, which is expected.

For example, with subnet routes off, I can ping another device on my network just fine (10.8.8.3).
When I turn it on, I can no longer ping that IP. I can always ping my server (.2) no matter what. Doing a traceroute shows a hop (through tailscale) to my server and then it times out. My server has connection to the other devices so that’s not the issue. So for some reason it seems like Tailscale is not properly routing traffic through the subnet router.

A “solution” I found is to instead advertise a subnet route of 10.8.0.0/16. Everything works as expected when I do this. There isn’t actually an issue with advertising this larger network, but I’d really like to understand exactly what’s going wrong here.