The reason for that (and sorry, I know this will not immediately solve your problem) is that the *parent* process probably did not have a Run As configured. Being Long-Lived it will, by default, run as "System" after its invoker has invoked it and is no longer synchronously waiting for a resoponse. So if you chnage the parent process to "Run As Invoker", then I think you may see the invokers context proagate through to the child process as well. But this difficult to manage because each of the service activities in the process will then get executed as the invoker (who may not have permission).
What is probably needed is a way for processes to propagate both an invoker's context (for security and authorization) and an original caller's context for (for tracking and user task audit) which Workspace could use. There may have been some improvements in Workspace Tracking though in ES2 and I will try to find out.