Nice demo, btw! I had played it even before creating this post (yeah, I’ve searched a lot )
But you don’t have any opaque sprites there, which definitely simplifies your case. My examples have probably misguided my intention to make it work universally for any sprite: solid, opaque, semi- or fully-transparent.
However, I see that you use a particle system for the candles, right? It’s actually the best showcase of the problem I’m describing.
If you could have organised the depth sorting by z-axis, you wouldn’t have needed to create so many different materials used and to have more than a single predicate for all your sprites (except the ground perhaps).