Interesting game.
I think your self-analysis should focus more on concrete variations.
18)h4 is a glaring missed move on white's part threatening h5+. 18) ...Rh8 looks forced and necessary but only delays mate one move.
19)h5+ Rxh5
20) QxRh5 Kf5
21)g4 mate
Comments are within - thank you!