Thanks for a great app!
I needed to extend wagtail_2fa.middleware.VerifyUserPermissionsMiddleware to make it work in a headless context and it made the register_permissions hook not fire.
I think it's this line https://github.com/labd/wagtail-2fa/blob/master/src/wagtail_2fa/wagtail_hooks.py#L72.
I implemented a custom hook that did basically the same thing, but it would be nice if possible to make a more generic check.