So, I finally had a session of my 5E game where all 4 players were present and none of them got terribly unhappy. My previously troublesome player was kept mollified, partly because it was a fairly gentle session with only a few, low-risk combats. That will change very shortly and I'm worried, a bit, about what will happen when it does. But there was one moment towards the end of the session that was incredibly interesting.
The PCs were negotiating with an NPC who had some info they needed. In the original module, he is supposed to demand that they kill some monsters for him first, and then he'll give them the info. They were about to wrap up the negotiation and go off to kill the monsters, when my sometimes-unhappy player spoke up, out of character. She said something along the lines that her character wouldn't go along with this; the PCs' mission was urgent and they needed the info **now**, and would swear to return to slay the monsters afterwards. I said, "go for it!"
Though I did call for a (successful) die roll to pull it off, the bigger takeaway for me was that she hadn't realized until then just how committed I really am to not railroading, and to making the mechanics available *to the players* to change things in the fiction they or their characters are not happy about. I think in future conversations I may try to help her understand how I can only do that sort of thing with any integrity precisely because I'm so strict about things like, e.g., who is and isn't affected by a Hold Person spell. But I'm having a little trouble figuring out how to explain the connection in a straightforward way.
It's about more than just making success feel earned, though that's related. It's something more like pushing back against the harshness of the setting. Or maybe it's just about the separation between my overall role as GM and my portrayal of any given NPC.