All commands involved in a pipeline such as the one in the question are started (pretty much) at the same time.
This means that the commands in a pipeline such as
find . ...some other arguments... | sort | uniq -c | sort -nr
are all running in parallel.
However, since the output of one command is the input to the next, and since commands wait for input to be delivered and for output to be consumed, the data synchronizes the commands in the pipeline.
In the above pipeline, for example, the last
sort will be running, but won't do much until all the output of
find has been consumed by the first
sort (a sorting operation requires that all available data has been read).
The data, hence, enforces a left-to-right ordering in the processing done by the pipeline.
In other compound commands, such as the list
ls -l; cat somefile
which is the same as
there is a strict left-to-right ordering.
cat will not start until
ls has finished.
In a compound command such as
test -f filename || echo 'no such file'
there is also a strict left-to-right ordering, and here,
echo will not execute if
test returns a zero exit status.
See also, for example, "Issue with booleans tests && and || in bash" and "Precedence of logical operators versus semicolon".