This is standard practice for shells. The order of operations is command substitution (
$(find .)), then word splitting, then glob expansion (
From the POSIX standard (word splitting = field splitting; glob expansion = pathname expansion):
The order of word expansion shall be as follows:
Tilde expansion (see Tilde Expansion), parameter expansion (see Parameter Expansion), command substitution (see Command Substitution), and arithmetic expansion (see Arithmetic Expansion) shall be performed, beginning to end. See item 5 in Token Recognition.
Field splitting (see Field Splitting) shall be performed on the portions of the fields generated by step 1, unless IFS is null.
Pathname expansion (see Pathname Expansion) shall be performed, unless set -f is in effect.
Quote removal (see Quote Removal) shall always be performed last.
For this reason, it is always recommended to use globs where possible, so that word splitting does not interfere with your file names. The
$(find) construct is actually an example of Bash Pitfall #1.