Thanks for sharing your results so far. From my past experience, what you have said is correct - mapping the resource on a deferred context will produce a temporary buffer that carries around your data with it, and the results are applied only when the command list is executed. I also seem to recall that you can't read data from this pointer on a deferred context - only writing.
I'm not sure what the actual issue is now - are your changes not being applied to the mapped buffer after executing the command list?

Find content
Not Telling