In the process of writing this post, I found the answer.
find "$directory" -type f
from GNU find, is exactly what I was looking for.
In terms of getting this into an array, you could use readarray
:
readarray -t files < <(find "$directory" -type f)