Gotcha. So, basically, your backend (ktor) and frontend (html/css/js) code are more or less separate things. Right now, you're using the HTML DSL in Ktor, which blurs the lines a good bit as it's written directly inside the rest of your server code, but once your frontend becomes a little more complex it's a good practice the cleanly separate the frontend and backend code. Once you've done that, you're free to decide how those should work together - since any communication between frontend and backend will run over plain old http, your ktor server doesn't care in what framework and language the frontend is written. You could keep using the html dsl with some simple js files for behavior, all in the same project, or you could switch to any other Frontend Framework you'd like and even factor that out into it's own project. There's Kotlin/React, plain React, Vue, Angular, Elm, Svelte - Ktor doesn't really care at that point.
To give you an example: I personally am working on an application that consists of a server written in Ktor and a separate Frontend which is written in Angular 9. They are separate projects that have no knowledge of each other. In our case the frontend is served statically from a separate Nginx server, but it could just as well be served by the Ktor server. I'm pretty happy with this setup, except I'd probably go with Kotlin/React instead of Angular if I were to start over.