I’ve been daily driving EXWM for about 3 years now and I love it. I haven’t noticed any performance problems and it should work great for just opening the apps you listed.
EXWM being single-threaded (and just being in Emacs) is still somewhat of an issue in that if you’re toying with Emacs and accidentally freeze or crash it, everything else goes down with the ship. It’s not that often of a problem in my experience and I personally find the benefits of EXWM totally outweigh this problem.
Also after a bit more thought I think implementing this would be useful for a totally different purpose: programmatically finding underused keybindings/functions could help a lot with discoverability!