That doesn't work if the remote is a different platform or architecture. Also, part of the point of running remotely is to do compute on the remote (often a powerful workstation or server), not locally.
You can use sshfs if you like. But there are many use cases where you have to do things remotely.
For languages like Rust, the language server does compilations — it has to run on the remote because it has to know about OS/arch-specific details.
There's a bit of latency between when you type and when the language server shows or hides the squigglies. But it's less than the time it takes to compile stuff anyway.
You can use sshfs if you like. But there are many use cases where you have to do things remotely.