My fav UX flow is:
1) myapp.com show a "login with nsec" button
2) click redirects the whole page to https://use.nsec.app/auth (or some other handle in place of "auth"
3) there it shows all my identities, I pick one and that makes a callback to myapp.com/callback?event=....
No modals, no popups and no mandatory custom login button with style that does not match the one on myapp.com.
It is s nice to provide a convenient styled button.. but not for all situations.
That's also easier than having to remember "username@nsec.app", or whatever identity I am using this week, or whatever provider I am using this week: is it "nsec.com? .app? .gov? .nostr?"
I think that should also be easier to implement for both you - auth service provider or javascript plugin provider, and me using them.