В общем, всё сложнее/хуже, чем оказалось. ghc-mod, который нужен для dante, уже deprecated и не работает с новыми версиями языка.
Для lsp в doom emacs предлагают использовать ghcide или haskell-ide-engine (hie), но они походу тоже не развиваются и работают с версиями ghc до 8.8 (последняя 8.10).
Ну а разрабы ghcide и hie сейчас занимаются haskell-language-server, но он, если верить ридми, еще совсем альфа.
Компилял всю ночь и пол дня haskell-language-server и зависимости через stack. Оказалось, что хаскель не очень-то дружит с системным ghc (несмотря на опцию в конфиге stack) и динамической линковкой с системными хаскель либами - lsp не цепляет системные либы из-за чего всё окно покрывается ошибками. То есть вообще всё хаскелевское желательно собирать локально и линковать статически, лол.
Но по крайней мере hls не падает сразу после старта как hie и собирается в отличии от ghc-mod.