First? Don't know, but from personal knowledge TOPS-10 had it, around 1974, in the 5-series monitor. Probably before that, but I wasn't using it.
A 1989 course on TOPS-10 internals, while way too recent to qualify as evidence for early implementation, has this to say about mechanism:
Characters from a terminal keyboard are stored in an input chunk stream until they are requested as input by the program or as a command by the monitor.
i.e., it describes typeahead. I recall the same tty chunks structure from the mid-1970s.
RSX-11D on PDP-11 likewise had typeahead at around the same time, as did RSTS/E and possibly RSTS-11.
I suspect this is an 'obvious' feature for interactive timesharing systems. The job/process/task may not be in core, you've got to accumulate characters somewhere, so why not accumulate them even in the absence of an outstanding read? (If there is even an explicit 'read' from the command interpreter; sometimes there's just a cosy arrangement with the terminal driver).
It makes for smoother user interaction on a loaded system if you don't have to wait for the next prompt before touching the keyboard.
I can scour the manuals later to push the date back some more, but certainly microprocessor-based systems did not invent this.