This is a Unity question.
In any case, objects with alpha blending are not treated like 3D models. 3D models draw onto a depth buffer to determine what's behind and what's in front. The 3D depth buffer doesn't work for 2D sprites because typical alpha blending requires them to be drawn in a specific order (from back to front) so they're blended correctly. The shaders that 3D models usually use don't have this requirement.
Unity determines which alpha blended sprite are behind and which ones are in front, first based on the Renderers' Sorting Layer and index, then according to the order specified by the shader, and then based on the distances of their centers from the camera.
If something is being drawn in front of something else, consider those three criteria and check what's affecting them.
You should show your sorting layer settings, renderers that are acting correctly and incorrectly, shaders being used and the fog object's structure.
I think you'll also find more help in the Unity forums.
Note that Spine simply uses a MeshRenderer and an alpha blended shader that renders in the Transparent queue: https://github.com/EsotericSoftware/spi ... .shader#L8
It will behave in Unity like anything else under that circumstance: MeshRenderer + "Transparent" shader.