If you were writing pure JS you'd probably need to intentionally delay text entry with setTimeout/etc to achieve this effect - I don't think you can achieve this outcome by accident.
The problem is that the front-end ecosystem encourages pulling in megabytes of third-party crap for every little thing (including poorly reinventing existing browser functionality) and the result is that some interaction between all that mess causes an entire page redraw upon every keystroke or similar.