Ao usar um pipeline, o bash executa os comandos em subshells. Portanto, o array é preenchido, mas em um subshell, então o shell pai não tem acesso a ele.
Use a substituição do processo:
readarray FILES < <(find)
Observe que não funciona para arquivos com novas linhas em seus nomes. Se esse for o caso, você precisa de uma sintaxe mais elaborada:
readarray -d '' < <(find -print0)