Lae'Zel. You romance Lae'Zel. To the point where she says no matter what happens, she wants your Tav by her side (Source of her joy). Then, in an act to save Baldur's Gate and keep Orpheus in a position to help depose Vlaakith, RP out of love for Lae'Zel, Tav becomes a mindflayer to combat the netherbrain. Lae'zel dumps you like a hot potato afterward. It's Larian's vision at the end and not a reflection of the journey the player did. Karlach is the same
I mean while I understand what you're frustrated with here, that still has more logic and reactivity than Karlach's thing. You made a choice and that choice backfired (I would argue that it's natural for Lae'zel to not see what she perceives as a mindflayer with Tav's memories as Tav. That's not the way her people - or most of Faerun, really - view mindflayers. Therefore all promises are off.) - that's still a player's input. Do the other thing - get the other ending. What choices do we make that force Karlach's ending? None, it just happens (we can only make it suck somewhat less or worse for her, as mentioned). Well, apart from the very last second, which gets you a whiplash.
I do agree with you about making the player sweat, like A LOT, for a better ending, if the player chooses to pursue one. Because as things stand now, I do choose to, but there's a block in my way. And all that you listed is indeed already in the game and could be used for a scenario like that or something similar. We all love to yap about an Avernus DLC, but really, just connecting the dots already placed and adding some flair to them could be more than enough.
So yeah. Agency would be great here, whether is backfires or not.