Teamviewer through a VPN works fine remotely but on the same LAN its busted

My desktop runs teamviewer and a VPN

My laptop can connect to it from a remote location fine. A little lag but not much at all.

But… if my laptop is on the same network as my desktop then teamview vomits. like not even 0.25 FPS
I dont understand. It should work at least just as good as from an outside connection. My laptop connection hits the router and then would get piped out to the VPN to go back to my desktop. I dont see why being on the same network causes this issue. Someone suggested that I should connect via local ip instead and this did work for several months. I dont know what changed it just stopped being able to connect through the local IP.

So what can I do to fix this overall issue. I would much prefer just to be able to connect to the computer by clicking on the name rather than typing the IP when im sitting in the same house as the other desktop.

Both machines are windows 10, using expressVPN.

I’ll have to test when I get home, but I’m pretty sure my desktop is normally accessible on my LAN when the desktop is connected to it’s software VPN. I’ve had the VPN connected and had to adjust things remotely from the laptop in the garage. If it works fine, I’d have to assume it is related to the VPN.

Mine used to work over IP but it stopped after one of the updates. However this problem with bad connection has been present since before I even started using the local IP.

I feel like if it was the VPN then it wouldn’t connect at all. I think it has something to do with sending the traffic out through the router and back in through the router that’s causing issues. When the VPN is off it doesn’t have to send the data out and back and it’s fine. And when I’m not on the same network it’s also fine. It’s o ly when I’m on the Lan with my laptop so the only difference is the router.