I have a similar experience to you, a lot of what you wrote really resonated with me.
I have used Emacs for almost 10 years, and really used it for everything text based and all programming tasks. I spent a while getting my config how I like it, based on the magnars config (of emacs rocks fame). I tried some of the distros like spacemacs and doom but ultimately came back to the magnars set up because I understood it and it just rocked.
Since the introduction and growth of lsp though I really found emacs struggling, particularly on Windows (I have to use it at work). The speed is just frustrating at times, where you constantly have speed hiccups whilst waiting for it to catch up with you.
I decided to give the vim binds a go because they were highly recommended by a few youtubers and also because it's more common to find them integrated into other programs like Obsidian etc etc. Now I really like the vim motions, and decided to give neovim a go.
The first thing I noticed with Neovim was the speed, it really does feel like night and day vs emacs. The editor is so snappy and editing code feels a lot faster. I still do miss a lot of the functionality I just get from emacs though, I always feel like there is an M-x butterfly for every situation and I always know I can find something by just searching the commands. In that respect neovim feels a lot more bare bones in comparison, and I do find myself having to do things in the vim way whilst using it - the multiple-cursors way of working in emacs has become the way I think about editing code, it's really hard to move away from. In vim it seems that people don't use multiple cursors, instead they use sort of regex and greppy replacements.
Anyway, stream of conciousness above, the tldr is that I agree, and it feels like the vim/neovim/helix guys are just starting to discover organically the emacs way.
VS Code is a great editor. I mean, it's not my first choice because it really does run slowly at times, and the keybinds are a mess (you have to set so many flipping keybinds to get up & down working on K, J or C-n, C-P in every place of the gui). However, on the whole it's great, so much just works out of the box and it's pushed LSP to the forefront of development.