Question: I thought that $\theta$ must be chosen such that $\cosh(\theta)$ has a range that is equal to the domain of $\frac{1}{(x^2-1)^{3/2}}$. But this can't be done since the domain includes negative numbers, and $\cosh(\theta)$ is always positive. If this substitution is made, the answer seems to be valid for all values of x, why does it work?

Answer: 
If you look for a primitive in $(1,+\infty)$,

put $$x=\cosh(\theta)$$

with $$dx=\sinh(\theta) d\theta$$

but if you want a primitive in $(-\infty,-1)$, you should put
$$x=-\cosh(\theta)$$

with $$dx=-\sinh(\theta)d\theta$$
Part of it's because we're presumably only integrating over values of $x$ for which the integrand is real, i.e. $|x|\ge 1$. Any work with complex numbers that lets you pose the question otherwise in the first place also lets you get a complex $\operatorname{arcosh}x$ with $|x|<1$.