Приветствую.
Если я правильно понял описанную проблему, у вас происходит вывод экранированной строки. Где все HTML теги превращаются просто в текстовые символы, а не в управляющие.
Это поведение Pug действует по умолчанию и служит для обеспечения безопасности при возможном использовании этого шаблонизатора на продакшене.
Чтобы избежать такого поведения надо использовать вместо вашего варианта, такой:
li(class= classname + 'item')!= item
Обратите внимание на восклицательный знак перед знаком "равно".