there's already official appimages for neovim, I use them (but not with firejail) and they work fine. but the lsp stuff is all installed outside, my guess is it'd be really annoying to mantain a custom compiled appimage
the best option is probably to just run neovim inside a docker container, you can then mount the directories every time you run a neovim container (~/.config/nvim, ~/.local/share/nvim, optionally .local/state/nvim and your undodir/undofile, there may be more I'm not sure).
assuming you want to isolate your home directory, what gets annoying is giving it access to only the code you're editing, I've yet to try this but my next plan is to give it read access to $HOME, then read/write access to the neovim dirs, and then take an argument to mount the project directory
some other options which I also haven't tried are
- distrobox, which just creates containers as well but by default wants to mount your entire homedir inside them
- devcontainers
- lspcontainers which isolate the LSP binaries themselves
- LXC/LXD/Incus containers which behave a bit different from docker containers, could be worth looking into