> Does that mean we can write to the terminal using the input file descriptor?
Sure. You can write to a terminal (indeed to any file or pipe or device or socket that supports and authorizes writing) using whatever open file descriptor you have for it. A simpler version of your code would be this:
echo hello >&0
which, as you'd expect, sends "hello\
" to whatever file descriptor 0 points to. If that's your terminal, so be it.