So using XOR join of both threads leading to one end is a direct equivalent, isn't it?
I would say that in this simple process, yes, it is the same.
I am still wondering why the (original) "multiple lane" approach is good for. What real world scenarion it is good for?
Sometimes, for example, you have certain paths that repeat themselves in your process (like, for example, error treatment). A goog design for this (but not the only one) could be to have a different "lane" that treats an error when/if it occurrs. So in your process you can use a Throw Event that you can then catch using a Catch Event. That could be a valid scenario for having multiple "lanes".
Has jBPM/BPMN2 same notion of "token" and "root token" as was in jBPM3/jPDL?
No. In jBPM5 there is no token going from node to node. The concept of Current Node Instances replaces it. So, in a particular point, you have a Process Instance with one or more Node Instances (1 node instance per "active" node in the process instance). When a Node instance finishes its execution, the next Node Instance is invoked and so on.
Best Regards,