OK, I found the change that caused this.
@@ -161,7 +161,7 @@ display such a window regardless."
collect c)))
(unwind-protect
(progn
- (while (memq (read-event (propertize prompt 'face 'minibuffer-prompt))
+ (while (memq (read-key (propertize prompt 'face 'minibuffer-prompt))
help-chars)
(unless (get-buffer-window buffer)
(register-preview buffer 'show-empty)))
It's the use of read-key instead of read-event that's causing this.
Stefan should be able to comment more on why that changes the behavior of the prompt staying vs disappearing.