I'm currently solving this problem by logging to the desktop of a remote system and developing my script with ISE there. I don't believe this is the right way to go about it but I don't know how else to do it.
Using a remote session doesn't always work because I sometimes rely on the local filesystem of the remote machine.
Another problem with this method of script development is that it disconnects me from my local script repo. I have yet to create a copy of my repo on the remote machines because that too seems like the wrong way to go about it.
I'm sure I'm not unique in having this problem. What do you do to solve it?
Develop the script locally. Deploy it via Invoke-Command, which has a file path parameter. That's a local path to the script, which is then transmitted to the remote machine and run there, with full access to its local resources.
If I understand this correctly, I have a similar experience to this and do have a workaround but may not be ideal in many cases.
We do not have a VPN (yet) but we do have a Documents Redirect GPO where my script repo is synced to the server. This allows me to remote into my desktop (out-of-band), from my laptop, to access ISE for script development and local testing. When my laptop is connected to the corporate network, the scripts are updated on it via GPO. If I am desperate, I'll manually copy the changes to my laptop if I can't wait for the next time I'm at the office.