Alright, SyncWSHumanTaskHandler has a bug regarding deadlines as it marshal variables before processing deadlines and the bug is about modifying map of properties inside work item instead of making copy of it. Moreover it is deprecated so I would suggest to use instead org.jbpm.process.workitem.wsht.LocalHTWorkItemHandler which is a replacement of sync if you use local task service or org.jbpm.process.workitem.wsht.HornetQHTWorkItemHandler for sync integration over hornetq.
I think that above is explanation why you see this weird behavior that first you see marshaled and then string.
HTH