O ~
deve ser expandido por algum programa. Normalmente este programa é o shell. O daemon sshd não alimenta o caminho para um shell e não expande o caminho.
Mas você não precisa de uma expansão para o diretório inicial dos usuários atuais, pois é o diretório de trabalho de qualquer maneira.
Tente
ssh -vvv -N -R ~/.gnupg/S.gpg-agent:${HOME}/.gnupg/S.gpg-agent.extra {HOST}
Editar:
Isso funciona porque o diretório de trabalho no host (não no cliente) é sempre o diretório inicial do usuário de destino.
O servidor ssh não expande ~
das variáveis de ambiente, mas deve ser possível executar código no host para criar um link ou um link simbólico para um local conhecido que possa ser usado pelo servidor ssh.
Editado como sugerido por Kusalananda