worth noting the kotlin-lsp here is jetbrains own, basically intellij analysis engine running headless. you're just dropping the intellij gui
While Metals for Scala was an overhaul from the former Eclipse plugin (and Ensime) plus early experiments embedded in the Scala 3 compiler. And Metals v2 is yet another rewrite.
Metals is architectured in a completely different way, see the BSP: https://build-server-protocol.github.io