given the tileset I have, is this the most efficient way to obtain what I needed?
Yes, stacking multiple layers of tilemaps is a tried-and-true method which is being used since the 16bit age.
But since they are on two different tilemaps I cannot use a composite collider to optimize the collider's layout.
That's incorrect. You can merge the ...
The issue most likely has to do with the skin & bone animation. The polygon collider will not update itself every frame while the sprite is animating.
Your best option would be to use a simple collider instead, but if you really need it to be very accurate, you'll need the colliders to be placed on the objects and updated as they rotate/move around.