You’re just composing functions not doing element-wise composition of vectors of functions, so you just use ∘. The . is part of the call syntax, not the name of the function. You can think of .( ) as the “vectorized call operator” just like ( ) after an expression is the normal call operator.
That isn’t equivalent to sum(sqrt.(rand(20))) because it is broadcasting sum as well. I don’t think that there is a way to achieve this using function composition.