For example, on the local system:
remote-execute gcc localfile.c -o localfile.o
And on the remote system, there is a gcc and a remote agent which receives and retransmits the files
9front is full of "free carrots". If you want a remote vpn, just import another servers /net ontop of your process namespace and you're all set.
I dont want to mount and expose nfs, or allow a full ssh login. This will be a custom agent/daemon on both ends
For job execution you could write your own agent but doing likely wouldn't be any more secure than SSH. Just make sure you have disabled password logins (use keys instead) and fail2ban or equivalent running to auto blacklist attacks. You could probably use Chef or SaltStack if really wanted to avoid a remote shell but if you're not already running config management then you have to ask yourself if you're over-engineering a solution.
An alternative solution would be to run an OpenVPN tunnel and then you can SSH to your hearts content. But even here, unless you have multiple machines you want to connect to, I can't help thinking you're just making life harder for yourself without getting any realistic gains.
This is all based on the very high level spec provided so I accept there might be some currently undisclosed detail that renders the above suggestions moot.