Sua substituição de comando está se expandindo localmente porque as aspas duplas permitem que o shell seja ativado.
A aspa dupla permitirá que o shell interprete $
, '
, \
e, se a expansão do histórico estiver ativada, !
As aspas simples, por outro lado, preservam o valor literal de todos os caracteres especiais.
Assim, quando você cita a substituição do seu comando, está garantindo que ele seja passado para a máquina remota como está. Você também pode usar o caractere de escape para isso se tiver que preservar uma variável local como parte de sua substituição de comando.
ssh user@host "$(command)" #will expand locally
ssh user@host '$(command)' #will expand on the remote machine
ssh user@host "\$(command $local_var)" #will expand local_var locally but send the command substitution to the remote machine