Hi Crispin,
I think the correct behavior is not to index content on draft pages.
Because draft status is not a security feature and the page is only protected by view roles like any other page, and because I think we don't want people to easily find our draft content even if we have not locked it down until it is no longer a draft. Often the draft is going to be a public page so it is not protected by view roles and if someone knew the url they would see the content because it is not protected by roles it is just hidden by not being in the menu. This saves the hassle for pages that will be public so you don't have to come back in and actually publish it by role permission for All Users.
The search index doesn't know about edit roles, it only knows about view roles and filters search results by view roles that protect the indexed content. So if we did index content on draft pages it would show up in the search results regardless of page draft status which it knows nothing about. Thus there would be a good chance for accidental leaking of content that wasn't meant to be visible because it is a draft.
Also the purpose of the page draft status is for when you have draft instances of html content feature on the apge that you are working on before making the page visible. Html content feature also does not index draft versions of a content instance so it is not expected that the draft page needs to be indexed until the time when you uncheck draft and save it. The page itself is just a container it has no intrinsic content to be indexed other than that of feature instances that support search.
Best,
Joe