I hope you remember that GPG keys created on a Yubikey are unsafe, due to an overly simply RSAlib implementation there for their Infinion chips.
Additionally, you can always generate GPG keys on your machine, transfer them to the YubiKey, and then delete the keys from the local machine. It depends if that's an acceptable exposure for your threat model, but for me, having the keys locally for a couple minutes is fine.
That way I don't have deal with different subkeys and other complications that just makes everything hard to understand :)