Qh1 is the correct move
Mate in 4 (incredible)
I can say with confidence that there is no mate in 4. Because I used an engine because no-one can figure it out. And it turns out, it's mate in 6. So the poster has told us some porkies! 
Try playing Qh1 and see if it gives you being mated in 3. Are you sure you aren't using some engine that stops looking after it finds a mate?
1. Qh1 Rxh1 does in fact fail to 2. a8=R, so Black has to play something else. I haven't looked to exhaustion so I don't know if he has a way to escape. 1. ...Rh3 looks promising, but 2. Qxh3 Kg8 3. Qh6 Kf7 4. Qg7++ is still 4 moves though.
1. Qh1 Rg8 is the other try, but I think that fails to 2. a8=Q.
Ok, for some reason, it sees mate in 6 if I start it from the puzzle position, but it sees that there will be mate 3 moves later if I put the queen on h1 and make it blacks move.
Perhaps I need to check my settings.
Maybe engines are not considering underpromotion. I'm looking at the solution right now but it seems good.
Yes, thats probably it. Although interestingly it does seem to be considering the underpromotion after Qh1 is played... Perhaps Ive got it on such low depth it doesnt understand the queen sac.
1 Qb8 Rd8+ 2 Kd8 Ke6 3 Qd5+ Kf7 4 Qg7#
1 Qb8 Rg8 2 Qd5 Rd8+ 3 Kd8 Kg8 4 Qg7#
1 Qb8 Rh7 2Qe8#
1 Qb8 Rb8 2 axb8(Q) Kd6 3 Qd8#
My bad. I was in a hurry and scrolling up & down too much.
1 Qb8 Rd8+ 2 Kxd8 Kf6 3 Qd5+ Ke7 4 Qg7#
1 Qb8 Rg8 2 Qd5 Rd8+ 3 Kxd8 Kg8 4 Qg7#
1 Qb8 Rh7 2Qe8#
1 Qb8 Rb8 2 axb8(Q) Kf6 3 Qf8#
I assume you meant Rxg5. You got me.