emacs-jp に書いたやつ。
(defun vertico--compare-prefer-prefix (x y)
(let ((content (or (car-safe vertico--input) (minibuffer-contents))))
(pcase (cons (string-prefix-p content x) (string-prefix-p content y))
((or '(t . t) '(nil . nil)) (vertico--length-string< x y))
(`(,match . ,_) match))))