This seems like the LLM is vastly overcomplicating things. My entire Neovim config is a single 500 line init.lua and this is enough for LSP to work.
My nvim LSP config is 20 lines and mostly consists of "if you see X language, use Y program as LSP".
I also have been using the same LSP config for approximately 7 years.
I don't get the pain.
LLMs love overcomplicating things so that is to be expected.