When attaching a child gameobject to a model bone it is quite clear that the actual bone animation and the visual transformed output isn’t the same.
Below is a test project roughly simulating a body with an arm and an attached hand.
Arm has a bone in the center of squared end where the hand is set.
Handcube has its 0,0,0 in center of itself.
In a real case it’s hard attach anything on another model without it’s gliding around like the hand is doing in the example. Example project is available for anyone who wants to get invited (PM me)