

but isn’t the DE (or WM if you abhor DEs) more important?
Yes, the most important thing is actually the DE/WM, most mainstream distros are exactly the same in how they are structured/configured, and the variations if you ignore the DE/WM come mostly from package manager, same packages with different names, and different default apps/configuration installed by default.
I have no experience with this app in particular, but most of the time there is an issue like this that you can’t reach an app or any other path besides the index, is because the app itself doesn’t work well with path redirection of subfolders, meaning the app expects paths to be something like
domain.tld/index.html
instead ofdomain.tld/subfolder/index.html
for all its routes.Some apps let you add a prefix to all its routes they can work, so you not only have to configure nginx but the app itself to work with the same subfolder.
Other apps will work with the right configuration in nginx if they do a new full page load every time the page changes its path/route.
If it is a PWA that doesn’t do a page load every time the path is changed, it’s not going to work with subfolders as they don’t do any page refresh that goes through nginx, and just rewrite the visible URL on the browser
What I can recommend is to switch to a subdomain like
2fa.domain.tld
instead of a subfolder and test if it works, as subdomains are the modern standard for this kind of thing these days, to avoid this type of issues.Edit: looking at the app demo, it seems to be a vue.js PWA that doesn’t do any full page refreshes on a path change, so as stated you will probably have to switch to a subdomain to make it work.