@istasiik отдельный? Если вас нет своих скриптов на странице, то да — отдельный файл и лучше с атрибутом async. Если уже есть, лучше дописать к какому-нибудь из них.
Вставлять скрипты можно где угодно, но вопрос выбора куда именно не так прост. Если с атрибутом async, то неважно где. Если же скрипт загружается синхронно... То тут мы просто выйдем за рамки вашего вопроса и далеко.
Если кратко, скажу так — коли вы своих скриптов не используете, вставляйте в head.
считаешь количество символов в строке, делишь количество введенных на количество в строке и округляешь в большую сторону. Еще можно до количества введенных симвовлов некое число чтобы было наверняка. Так ты будешь иметь число строк в текстареа (высоту его меняешь на лету умножая колво строк на высоту строки). чтобы оно шло вверх, делаешь ему position:absolute и bottom: 10px к примеру. Вот вроде и все