Given that you can communicate two ways with terminals using escape codes, you might be able to run your remote shell with something like
tyserver bash
and tyserver could then say replace escape-w-h-path with an escape-w-h-file-descriptor-n which would then allow the remote side to async query for the contents of fd-n with an escape-read-fd-n-bytes while you continue to interact with the terminal.