Don't forget, he'd promised to obey Dumbledore without question. Dumbledore ordered him to stay below, and hidden, no matter what happened.
Keeping an oath like that is... right! Dumbledore has consistantly and reliably shown his habbit of keeping secrets, giving unexpected surprises, and otherwise making a fool of anyone who thinks he knows what's going on. Harry had no way to know that this time, Dumbledore didn't have an ace up his sleeve. (Well, for those that read the books, technically Snape was his ace up the sleeve...) And lets not forget that until Snape actually cast the killing curse, Potter had no way to know that's what Snape was going to do.