下記のリンクにある手順でgpgのサブキーを作成してssh-agentの代わりにgpg-agentを使おうと考えました。

https://opensource.com/article/19/4/gpg-subkeys-ssh

リンク先の手順では、addkeyを使ってRSAの署名と暗号化ができるサブキー作成していますが、下記の通り、署名か暗号化のどちらかしか選択肢がありません。

gpg> addkey
ご希望の鍵の種類を選択してください:
   (3) DSA (署名のみ)
   (4) RSA (署名のみ)
   (5) Elgamal (暗号化のみ)
   (6) RSA (暗号化のみ)
あなたの選択は? 

暗号化のみのキーで処理をすすめると、下記のエラーでsshの接続はできませんでした。

$ ssh -T git@github.com
sign_and_send_pubkey: signing failed: agent refused operation
git@github.com: Permission denied (publickey).
$

gnupgのバージョンは、下記のとおりです。

$ gpg --version
gpg (GnuPG) 2.2.4
libgcrypt 1.8.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/ksaito/.gnupg
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256,
      TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2