I think, what we have here, is a failure to communicate.
I wouldn't DM ex machina rocks falling on the party, everyone dies, either. On the other hand, as I wrote, not every encounter can be defeated by strength of party and resource management. Some encounters you run away from. Some encounters you avoid. Some you try and talk your way out of. Some encounters are ones that I think may be unbeatable, but the players are far more clever than I am.
It is not my job, at this table, to simply throw carefully calibrated encounters at the players for combats. It is the players' job to decide if they want to engage in combats based on their perception of the risk/reward, and to change that calculation as the battle progresses. As the players understand that I do not provide safety nets, the players adjust their behavior accordingly. They find that fun- yours may not.
I am sure that the encounter was fun for your players, after you explained it to them, and went through your process.
I am only noting that this type of encounter would not be fun for my table, for the reasons I stated. And that my table wouldn't be shocked or surprised at being defeated (or forced to flee) during the campaign, and certainly wouldn't be asking me to justify the encounter because they lost or it was too hard.
Different tables, different fun, no worries.
I never said I play with a safety net (unless you define safety net as throwing the players into encounters which are unavoidable and unbeatable, which I do not).