I think there may be some confusion here. I am using Emacs 30, and have never tested Emacs 31. I applied your patch to Tramp 2.8.0.1, and found the different error, which you diagnosed as a vertico bug, in Emacs 30.
Since you say that with your TRAMP patch the problem ought not to arise in Emacs 30, I was trying to understand whether the remaining problem is indeed in vertico, or not (there may be some disagreement between you and the vertico maintainer on this).
As to Emacs 31, it appears that other changes there may have concealed one or more bugs, but since the fixes are in TRAMP and/or vertico, it doesn't seem that there are any further implications for Emacs 31.