Да, мой вопрос в том и заключался, как должно быть, чтоб было правильно. Заодно сразу и смотрю, что происходит, когда "неправильно", и почему.
Мне кажется достаточно общепринятый подход - это разделение ответственности. Svelte - это UI фреймворк и только. Соответственно он реализует View-слой, в котором допустимо все что касается логики отображения. Иногда удобно часть бизнес-логики разместить в специальных управляющих компонентах (умных), поближе к отображения. Но чтобы какие-то тяжелые, да еще асинхронные, вычисления делались во View этого я еще не видел. Даже когда нужно какую-то графику обсчитать или анимацию, это делается либо нативно в CSS (отдельный тред), либо руками в веб-воркере