At runtime, when changing the RegionAttachment of a Slot to something that uses a new texture/material, the spine unity runtime currently fails to update the cached mask-materials. This means that it is impossible to perform Mix And Match with SkeletonAnimations that have mask interaction. The invalid, cached mask-materials are used on the MeshRenderer, instead of those required by the new submesh instructions, and this results in the some submeshes rendering with either the wrong material or no material at all.
In researching this issue I also found that once a SkeletonAnimation has been set to some mask interaction mode besides none in the editor, it's impossible to remove the cached mask-materials for the mask interaction disabled mode. This leads to redundant code execution in a lot of cases. The only remedy I could find was to delete and recreate the SkeletonAnimation.
I can provide more detail about this issue but I think this explanation will be sufficient to find the issue for anyone familiar with the code base (AssignSpriteMaskMaterials would be a good place to start looking). I attempted a hacky fix, setting the mask-materials for the disabled case when the necessary submesh materials change. This did the trick in terms of rendering my Mix'n'Matched SkeletonAnimation properly, with proper mask interaction, but it caused some issues with materials being instantiated at edit time, or something like that. I've already spent a long time tracking the root cause of the issue down so I thought it best to leave the rest to the experts. I'd be intrigued to see what a proper fix looks like: hopefully I'll become more familiar with spine as the project I'm working on progresses, such that I can contribute fixes for the community, but for right now I think I'd likely be introducing more issues than I tackled.
Just realising I should've posted this in Bugs, apologies.