Можно, конечно, экранировать с помощью обратного слеша, но лучше перейти на однофайловые компоненты, или на x-templates, если со сборкой возиться не хочется
У меня работает такой код (плавный только там, где есть поддержка scroll behavior, да и фиг с ним) https://gist.github.com/FragsterAt/b72632976cac00f...
Ну и в CSS также scroll-behavior: smooth;
прописан для html, body и т.д.
Вероятно можно обойтись прослушиванием клика на родительском элементе? Почитайте про параметр useCapture у addEventListener https://habr.com/ru/post/126471/