Попробуйте 'raw' filter.
{{ var|raw }} {# var won't be escaped #}
{{ (true ? '<b>Hello 1</b>' : '<p>Hello 2</p>')|raw }}
Необработанный фильтр помечает значение как «безопасное», что означает, что в среде с включенным автоматическим экранированием эта переменная не будет экранирована, если для него был применен последний фильтр:
<div class="reply_text">
<div class="wall_reply_text">
{{ (reply.comment_text is empty ? '<div class="has-text-grey-light">This comment is empty.</div>' : reply.comment_text) | raw }}
</div>
</div>
Другой способ - использование оператора if else, когда вам не нужно использовать необработанный фильтр.
{% if reply.comment_text is empty %}
<div class="has-text-grey-light">This comment is empty.</div>
{% else %}
{{ reply.comment_text }} {# if required {{ reply.comment_text | raw }} #}
{% endif %}