Here's my ¥2 worth.
B5 - The high approach (W4) does not really threaten the corner so answering this play at this point seems somewhat negative. Playing in the lower left with D4 or C4 feels more positive.
B21 - Playing low on the right does not fit with the top right. I would have found H5 more tempting. If White approaches the lower right from the other side, Black just keeps White separated and looks for the opportunity to attack the bottom White stones. They still do not clearly have two eyes.
B23 - Bad shape, which White exploits later by attaching at R12. Just connect. The diagonal at S13 is another idea but Black is already too low here.
B25 - When White plays 24 at P12, note that Black has played 10 out of 12 stones on the third line. Better to be White than Black at this stage of the game.
B29 - Not content with playing on the third line, Black decides to dive into the second instead! Mistake in direction. B should jump again to F13. White gets to seal the upper left with D12 but that can not be helped. Next B around K13 to stir things up in the center?
B41/43 - Better not to play them, they only help White. Your variation was much better than the game, except for the idea about connecting two live groups in gote - forget that part.
B91 - Hane at J9, separating White. G7 threatens to cut off White's bottom left as in the game, so White can not resist here.
B101 - Mistake in direction. Play J9. The mistake on the left side has strengthened Black toward the center so the hane is even more important now.
B105 - Of course your variation is better.
B129, etc. - Complete waste of time. Note that if you had answered W128 once at O5 you would have threatened to turn at O6 and break up the center while leaving yourself the option to make an eye at O4. If you had done that and then reduced the center by using the threat of pulling out the stone at J9, you might still be in the game. White has given up a lot in the bottom left in order to enclose the center.