I can definitely confirm that I'm seeing that same behavior, though I actually expected it as soon as you explained how it works. Same keystroke, one goes directly to the overlay and shows up immediately, and one goes to the game and has to wait for the game processing before registering. Depending on where that keystroke happens relative to the refresh time the input will register one frame before or in sync with the game. I don't think it's a big deal though for my use case, but I can certainly see why a speed runner with no other on screen input information might have a hard time with it.I never tested it so I can't really say but https://github.com/univrsal/input-overlay/issues/185 says that it's apparently sometimes 1 frame faster.
That's good to know. I think I'll just let go of the perfectionism though, my modified keys seem just fine when I'm not staring at them intently and super zoomed in haha.
Anyway, thanks again for this feedback!