Если вы будете в базе держать преобразованное в сущности, то это уже проблема. А вот при выводе в клиента такое преобразование требуется, конечно если не требуется вывод HTML.
Но, все же происходит на уровне браузера, никаких querySelector('...) не требуется (кстати, это ошибка синтаксиса). Вот код:
<textarea>< & ></textarea>
Тем не менее в текстовом поле отображаться будет < & >, и если сделать вставку этого значения в тег code, а затем вывести из тега как replace(/&/, '&'), то результатом будет < & >, а никак не &lt; & &gt;
Вы действительно запутались в чем-то.