Seu shell local interpreta o ${i} entre aspas duplas ( " ), então o comando funciona para
ssh [email protected] "for i in /tmp/foo* ; do echo; done"
Basta usar aspas simples ( ' ) e seu problema desaparecerá:
ssh user@${server} 'for i in /tmp/foo* ; do echo $i; done'