As discussed some time ago, I'm now using GnuPG w/ gpg-agent both for SSH and OpenPGP tasks. All encryption, signing and auth subkeys are part of the same key. Now, presuming that no keys are unlocked: a. if I connect to SSH first, pinentry asks me for SSH password and afterwards the key is unlocked both for SSH and OpenPGP uses. For example, if I try to decrypt a file, it will be decrypted without another password query. b. If I do something OpenPGP first, pinentry asks me for the key password but seems to only unlock the key for OpenPGP purposes. For example, if I try to decrypt a file first, then connect via SSH, then I get a second pinentry dialog asking me for the SSH key password.
This issue should be brought up on the gnupg-devel ML or in https://dev.gnupg.org , its not a downstream issue and given its benign nature I don't have sufficient time to provide debugging support.