The solution is ... there isn't a perfect solution.
Transparency sorting is an unsolved problem for real time graphics. It's not that there's no way to do it, it's just there are no solutions that are accurate and fast enough in all situations. What you're looking for is Order Independent Transparency. There are several approximations out there that are being used on PC (and console), but none fast enough for mobile.
Transparent objects render sorted by depth per object (furthest rendered first, this is known as Painter's Algorithm), then draw the triangles in the mesh in the order they're stored in the mesh. It's possible to sort the triangles in the mesh before rendering, but this is slow. It also doesn't solve intersecting geometry. Most real time engines don't bother with this, and to do it in Unity would require a custom script that built a new mesh every frame for every camera.
So then there are the hacks.
Alpha test is opaque, and opaque stuff can be depth sorted! It also doesn't look that great, but on mobile you can often get away with stippled alpha & alpha test because of the high pixel density. Multiple layers can be a problem in the stippled areas unless you use a 3d noise.
Alpha to Coverage
Like alpha test, alpha to coverage is also opaque, but takes advantage of MSAA samples to fake transparency. Can look a little nicer than alpha test alone, but has many of the same disadvantages of alpha test.
Two Pass / Z Write Pre-pass
Draw the mesh once with alpha test, but only to depth using
ColorMask 0. Render again with alpha blend. Sorting in the areas that are opaque will be correct, elsewhere will still be wrong.
When you don't have intersecting geometry, like your mesh here, you can pre-sort the triangles to render in the order best for your use case. For this particular situation, this is what I would suggest.
Unity doesn't have any tools for this, and usually modelling tools hide the polygon order, but you can work around that by separating all of the parts and re-attaching them one by one in the order you want it to render. You'll also want to switch to using a single sided material and doubling up the geometry so you can render the "interior" before the "exterior".
So, separate the three cylinders into their own parts. Duplicate all three and flip the polys. Disable backface culling in Max so you can tell them apart. Then select the outer ring "interior" (the side facing up) and attach the rest in this order:
- Outer cylinder interior (where you start)
- Middle cylinder interior
- Inner cylinder interior
- Inner cylinder exterior
- Middle cylinder exterior
- Outer cylinder exterior
Re-export the mesh and apply the single sided transparent material and it should look correct and still be fast enough for mobile.