Unfortunately your study appears to be incorrect, because there is at least one alternative solution:
1.Bh3 gxh3 2.a4 h2 3.a5 h1=Q 4.Nexf3 Qxg1+ (first variation of your solution)
and now 5. Kxg1 bxa5 6.b6 a4 7.Ne5 a3 8.Ng6 a2 9.Ne7#
A faster mate without touching the g-pawn. Guess you must do some repair work before publishing it...