What is the reason the hand-tracking joints have these axes? I'm trying to create a virtual hands model and that's a mess.
The resting pose for the right hand is easiest to understand in the context of a model posed in the T position (shown here). The left hand's transform is the mirror (180 degree x-axis rotation followed by a negative translation of all the joints) of the right hand's transform; similar to turning a glove inside out so you can wear it on the opposite hand. This enables an easier workflow to mirror animations and similar use cases since applying the same rotation to both sides will cause the hands' poses to mirror one another.
On a related note, towards the end of Going beyond the window with SwiftUI there’s an overview of creating virutal hands with ARKit.