The timeout for getting the new passphrase for a fresh key pair seems too short, because if you start looking for a good passphrase, you may take longer than the timeout now (which probably is about 60 seconds or so).
If this happens, the process aborts and the previously made manual selections and data like "real name", key length
and so on, is lost and needs to be reentered.
Tested with gpg (GnuPG) 2.2.20 on pinentry curses and pinentry default buster.
- in interative mode, try to ask if the user wants a new pinentry or wants to abort, and announce the timeout like (60 seconds timeout)
- extend to timeout to something more reasonable for key creation only, like 5 or 10 minutes.