When a mesh overlaps itself, the order the triangles that make up the mesh are drawn is what determines which parts of the mesh are on top of other parts. A mesh may have many triangles and there isn't a way to set the order for each triangle individually. However, the triangles are sorted by the order of the bones in the Weights
view (you can drag bones in the Weights
view to reorder them).
Weights - Spine User Guide: Triangle order
The bone with the most influence on the triangle is used to determine the order of that triangle. I realize you may be doing mesh deformation without using bone weights, but you could use weights to control triangle order and then either ignore the bones and use mesh deformation, or use the bones to manipulate the vertices. Note that using bones can be much more efficient then using many deform keys, because each deform key has to store all the vertices in the mesh. Also, using bones allows you to effectively have multiple timelines for affecting different mesh vertices, while when using deform keys all mesh vertices are keyed together which can make animation difficult to edit.
When each mesh vertex is weighted 100% to a single bone, there is very little overhead for using weights. Only when a vertex is influenced by more than one bone is there a penalty (increased number of vertex transforms).
Meshes - Spine User Guide: Vertex count
Of course, each added bone has a bone transform, but there are not typical very many bones. With meshes, there can be many vertices, so if weights are not used carefully this can easily explode into hundreds or thousands of vertex transforms.