Re: move 19, you could always prepare to double on the dfile prepatory to something else. Not like white is threatening to transform the position that I can see -- not sure how white preps for d4 or b4. Alternatively, what is wrong with e5? I realize it restricts the scope of your bishop, but that is biting on air at the moment anyway, and e5 further restricts d4. The possibility of f5 at an appropriate point is there. Admittedly, black's pieces are not set up for f5, and it would probably just be weakening if played anytime soon, but it seems like black as all the time in the world to prepare f5 or something else.
Middlegame Zugzwang

Here you spent 3 moves to give your queen a home on b8. What can she do in the corner? In general, the Qb8(Qb1) idea is preferable when the lady can cooperate with a bishop to attack h2(h7), or when she feels really uncomfortable in the center (as is in some Sicilian positions). In your game it’s better to put your queen in the center with e7-e6(e5) and Qd8-e7, where she controls more territory.
You’re right that your strong DSB gives you a big advantage. It controls the crucial d4-square and keeps an eye on white’s possible queenside play (via b3-b4, Nd2-c4, etc). Then what’s your other bishop doing on b7? The LSB will come into play if you start an attack on the kingside. That’s why Stockfish suggests an eventual f7-f5-f4 as black’s best plan.
An example (I’m on mobile so I can’t post a diagram, sorry for the inconvenience):
15... Rc8 (discouraging b3-b4) 16. Rdc1 e6 17. Qc4 Qe7 18. Ne4 f5! 19. Ng3 f4! 20. exf4 Nd4 21. Nxd4 Bxd4 Black regains his pawn and has a dangerous initiative.
This game was a Daily Chess game with three days to make a move. I called this Middlegame Zugzwang because at one point I couldn't come up with a single candidate. I felt any move would just weaken my position. I would like to know what you would have played at that point, and of course any other suggestions about any part of the game are welcome.