ghcup を使って環境をととのえるのがやりやすいと思います。ghcup tui で各種のツールのバージョンなどが見えますので、調整すると比較的楽にツールの調整ができます。
ただ、注意点があって、現時点では、stack new で stack.yaml に設定される resolver は、lts-22.24 で GHC 9.6.5 ですが、これがghcup で最初にインストールされる recommended つきの hls-2.7.0.0 ではサポートされません。
ghcup tui を使って hls-2.8.0.0に切り替えるとGHC 9.6.5 がサポートされるようになります。
また、タイミングによっては、hls の最新版あるいはrecommend版が、stackageの最新 lts がサポートするGHC のバージョンをサポートできていないことがありえます。その場合は、hlsを自分で調整してビルドするか、stack new をつかって作成したプロジェクトのstack.yamlのresolverを調整する必要があります。
(残念ながら、stackage にはまだ、9.10.1 のサポートがありません。9.10.1 をつかいたい場合は、stackではなくcabalを使う必要があります)
hie.yaml は hls を使うときに必要です。implicit-hie パッケージをインストールすると、.cabal ファイルから hie.yaml をよしなに生成してくれる gen-hie というコマンドがインストールされるので、それを使うのがお勧めです。以下のような感じで使っています。また、package.yaml を変更したときは、.cabalファイルを変更するために、stack build をやったあとに gen-hie > hie.yaml をやっておきます。
$ stack new hoge
$ cd hoge
$ gen-hie > hie.yaml