The problem seems to be that Shrinkwrap Resolver takes the first artifact in the tree (navigating each dependency node to the deepest), while Maven takes the artifact closest to the top ("Dependency mediation - this determines what version of a dependency will be used when multiple versions of an artifact are encountered. Currently, Maven 2.0 only supports using the "nearest definition" which means that it will use the version of the closest dependency to your project in the tree of dependencies." from Maven – Introduction to the Dependency Mechanism ).
On https://github.com/shrinkwrap/resolver/blob/master/maven/api-maven/src/main/java/org/jboss/shrinkwrap/resolver/api/maven/strategy/DefaultTransitiveExclusionPolicy.java the doc says "Applies the default behavior exhibited by Maven with regards to handling transitive dependencies during resolution" which seems to indicate that Shrinkwrap is trying to do the same as Maven does.
Thanks a lot. This is a blocker for the XWiki project and I hope there's a solution.