I was curious about what could be causing this issue, so I looked at the code. I think I found what might be causing it. I might be wrong since this code is sort of hard to follow. I wouldn't know unless I built a whole new GrapheneOS image to test, but sadly I run an OS that isn't supported to do Android builds.
From what I can tell, the launcher searches all installed apps, picks 5, creates a new view for the search results, displays the new view, then starts a search transition for 300 milliseconds before completing.
If already in a search listing, the search transition is set to 0. This explains why if I type a first letter, wait a second, then type a second letter and immediately launch an app, the correct one launches.
Anyway, if I'm right, just wait 300 milliseconds and you'll launch the correct app. Not really a long time to wait if you ask me.