Como sugerido, passo o meu comentário original para a resposta com mais detalhes, caso alguém tenha um problema semelhante.
Eu recebi uma dica do comentário do @lgeorget - eu corri o comando com scp -v
e descobri que é devido à falta da chave privada.
Por motivos de segurança, removi todas as chaves privadas nos servidores e usei o Pageant para o gerenciamento de chaves privadas. Nesse cenário, conectei-me a B (B é um servidor de bastiões) usando o PuTTY, abri um outro terminal PuTTY, conectei-o novamente a B e, em seguida, conectei-me a A via ssh. Portanto, o Pageant pode manipular a chave privada para B, mas não pode para A diretamente (não consegui reconhecer isso)
O resultado é que o comando scp de B para o servidor de destino A funciona, mas o scp de A para o servidor de destino B não funciona.
Eu carrego a chave privada para A para testes e o comando scp da A também funciona bem.
Como não posso manter chaves privadas nos servidores, acho que só devo usar o comando scp no servidor B.