Hi,
Your issue is caused by the time it takes for the cursor position to
update.
When you are editing locally, you press down arrow, the screen reader
waits some milliseconds for the cursor to move, then reads the current
line.
But if you are connecting to a remote server that's more than a certain
distance away, the screen reader will stop waiting for the cursor movement
before the cursor has finished moving, and will read the current line too
early, hence reading the line you were on before you moved.
For NVDA, you may want to try fiddling with the caret movement timeout.
This is in the advanced section which has to be activated for you to reach
the settings, and the default appears to be 100 millisecons.
Obviously, setting it too high will cause it to wait a long time before
speaking, making it feel laggy.
There is probably an equivalent setting for Orca but I'm not using it
currently.
Personally, I've simply gotten used to checking where the cursor is myself
and not relying on the autospeaking of the cursor position, as it's not
reliable and I need to use remote servers as part of my job.
HTH,
Geoff.