I think you are looking at the wrong level. You are writing in terms of implementation, but what is it about vim that you expect to do in Leo, and why do think Leo has something to offer an experienced vim user? Note that I'm writing as a non-vim user, so my ideas about its usefulness are vague.
For example, the basic editing scheme, consisting of command and insert modes. It shouldn't be hard to get a Leo body editor to work that way. You would get the benefits of Leo's tree navigation together with the mechanics of vim editing. But it seems that to get vim to be really useful, one needs to come up with a selection of plugins and configuration that really suits each user. Bare, as-installed vim isn't enough.
Clearly, Leo isn't going to be able to use vim plugins as is. But who is going to try to reproduce the functionality of a vim plugin for Leo? Maybe for one or two, but I don't see it happening for a large part of the vim ecosystem of plugins.
So if "vim" means "configured vim with plugins", it's just not going to happen in Leo.
OTOH, if you would like to navigate Leo trees but edit nodes with vim, the vim plugin for Leo already does that. Well, I don't know if it's been updated for Python 3, but if not it presumably could be updated without too much effort. Maybe it could also be adapted to work with neovim, which seems to be a good plan.
If neither of these options - the vim plugin or a body editor that uses vim-style editing modes - are what you would like, then it is time to explain just what abilities you do have in mind.