After posting the question, I remembered an interpretation using formal characters of representations of $\mathrm{SL}_2(\mathbb{C})$ that gives the shortest proof I know that $[n]!_q$ is unimodal.
Write $1+q+\cdots + q^{j-1}$ as $q^{(j-1)/2}(q^{-(j-1)/2} + q^{-(j-3)/2} + \cdots + q^{(j-1)/2})$ and substitute $q= Q^2$ to get $Q^{j-1}(Q^{-(j-1)} + Q^{-(j-3)} + \cdots + Q^{j-1})$. Hence
$$[n]!_q = Q^{\binom{n}{2}}( Q^{-1} + Q) ( Q^{-2} + 1 + Q^2) \ldots (Q^{-(n-1)} + Q^{-(n-3)} + \cdots + Q^{n-1}).$$
Up to the power of $Q$, the right-hand side is the formal character of the tensor product of the (unique) irreducible representations of $\mathrm{SL}_2(\mathbb{C})$ of dimensions $2, 3, \ldots, n$. Since any formal character is a sum of the characters of irreducible representations, and each irreducible representation has a unimodal character, this proves that $[n!]_q$ is unimodal in $Q$, and hence in $q$.