21. Nf6X(!) is a usefull mating pattern to remember.
In general, you should definitely accept a sacrifice like 9... Bxh3 unless you see some very concrete reasons not to. In this particular case 9... Bxh3? seems simply unsound. White obviously needs to play some accurate defensive moves but black doesn't really have too many pieces in attacking positions and white should gradualy take over.
I played this game in which I faced the problem of an open castle and the benefit of one extra bishop. I have annotated the game. Take a look if you want.
White should have aimed more at protecting the king before launching the attack. Please give your opinion about the game and remarks.