I think that the perfect editor would use the perfect extension language...which, sadly, does not exist.
As a Lisp+Emacs user, I'm biased towards elisp, but it's definitely not perfect, having multi-decade-old baggage that holds it back. Lua has a beautiful design that is geared toward embedding, but lacking metaprogramming capabilities and things like optional typing. Python's design is ugly in many ways that the other two aren't, but it's more featureful than either of them and doesn't have elisp's warts. JavaScript has a more elegant design than Python, but a bad rep and a community that is borderline averse to performance.
There is no perfect extension language, and I'm convinced that, for fundamental reasons, there can never be.
But, I'll take an imperfect language (again, I'm biased, but I'm very bullish on a Lispy and Lua-y stuff) over none at all.
What happens when I start such an editor? It starts the basic editor and then it spins up 15 other language environments / interpreters to run the extensions?
Yeah, why not? If implemented correctly, this should ensure that the user interface is always snappy because all the slow parts (language servers, build systems, search, embedded applications) would be in backends. Modern multi-core systems are especially well-suited to such an architecture.
The biggest issue would be fragmentation of the extension ecosystem. The ecosystem would be split along implementation languages, which is an altogether disadvantegeous dimension.
I really like the way kakoune (https://github.com/mawww/kakoune) handles it, the editor doesn't have any scripting as such, it has an "API" in the form of pipes and environment variables that can be used by shell scripts or tools written in any language. Unix is the IDE.
I just could never get my head around the key bindings with kak.