It's more a question of where you got your Emacs. Native compilation, native JSON parsing, and a bunch of other things are configure-time options.
I guess it’s related to either the json parsing happening on the main thread and/or the LSP servers using company-capf which I think is a synchronous backend?
It seems like coc.nvim, lsp bridge, kak-lsp, and other editor solution’s i’ve come across all opt to use sidecar processes that manage lsp. Perhaps Elisp isn’t the right tool for that backend processing.
https://reddit.com/r/emacs/comments/ymrkyn/async_nonblocking...