I was hoping for some clever abuse of AWK's patterns & regexes but clean code will also do :)
I found this snippet on stackexchange showing how exactly that is possible on Linux.
> echo hello | gawk '!length{exit(0)} {print; print substr($0,2) >"/dev/fd/3"; fflush()}' 3>/dev/fd/0
This "renders" on stdout then feeds itself more input on /dev/fd/3.