Você precisa adicionar -mindepth 1 . Caso contrário você cd .. sairá do diretório base original na primeira repetição do loop e terminará em seu diretório pai.
É fácil perceber quando você executa a expressão find :
$ find . -type d -maxdepth 1
.
./abc
No primeiro loop, você cd . , que não faz nada e, em seguida, cd .. , a partir do qual não é possível inserir todos os outros diretórios encontrados.
Se não houver problema com espaços em nomes de diretório, você sempre poderá usar find $PWD em vez de find . para usar caminhos absolutos ou armazenar o $PWD original em uma variável à qual você pode cd ( $OLDPWD e cd - provavelmente não funcionará), em vez de cd .. .