After pressing the signin button the user is direted via the navigation to the homepage of the app.
The homepage can be a function (read; Microflow) this would allow you to open the MFA dialog and build some check in the microflow for the validity of the entered MFA as otherwise the user would be confronted with the dialog all the time after the login and MFA was successful.
Do be aware that after pressing the sign in button the user has a session and can potentially access data, for example via the browser console, so to make it completely secure you need to implement this in a way that the session is only created after the login and MFA are successful.
Hope this helps in finding a solution.