I've been thinking about the notion that fudging is okay when the DM has presented a challenge that they miscalculated in some way and it's harder (or perhaps easier) than they intended.
I believe in order to arrive at this conclusion, one has to have a presupposition that challenges in some sense have a static level of predictable difficulty. This has not been my experience in any edition of D&D. I've seen what I thought were easy challenges become hard or deadly for a number of reasons or what I thought were hard challenges become easy or even trivial. Some combination of the decisions of the players, the actions of the antagonists (as determined by the DM or dice), and the dice makes predictions as to difficulty mostly unreliable. To that end, I've long since gotten rid of any presupposition that says I can predict with any degree of accuracy how hard or easy a challenge may be. I might guess it right sometimes. But I'd be wrong enough to just give up the enterprise in its entirety.
So, what I do is simply tell players that not every challenge is carefully calibrated for them to defeat it with certainty and to govern themselves accordingly in play. Gather your intel with rumors, sages, scouting, or divinations. Try to recall lore on the monsters you face. Have a plan B for when plan A isn't viable. Have an escape plan for when things go wrong. In other words, make good choices in the face of many unknowns. Given this understanding, I don't have to care at all if some challenge I present gets too difficult (or too easy). The players will tend to approach them, more or less the same way, and if they don't do that, that's on them. As a result, there's just no reason for me to fudge anything with regard to this issue, nor do I need to have a conversation with the players to say that I "messed up" and offer a mulligan. The challenge is what it is and how do you deal with this? That's on the player to decide.