Crane's heuristic is a good one (and a common one), but the precise analogy breaks down, indeed, here. This is not the correct product rule when you work with actual vectors (i.e., vector functions). There is no sign. The point is that differentiating a vector gives a mixed sort of object — a vector-valued $1$-form, and $d(u\wedge v)$ will be a $2$-vector valued $1$-form. For example, if $$u = f(t)e_1 \quad\text{and}\quad v = g(t)e_1 + h(t)e_2,$$ then $u\wedge v = f(t)h(t) e_1\wedge e_2$ and $$d(u\wedge v) = (f'(t)h(t)+f(t)h'(t))dt\, e_1\wedge e_2 = du\wedge v \color{red}{+} u\wedge dv,$$ because $dt$ commutes with vectors. (Most mathematicians will write $dt\otimes e_1$ and $dt\otimes e_1\wedge e_2$ when unlike objects — here, $1$-forms and vectors or $2$-vectors — are combined multiplicatively.)

On the other hand, when you work with differential forms, the basis $1$-forms interfere with one another and the sign comes in from interchanging them. For example, if $$\omega = f(x,y,z)dx \quad\text{and}\quad \eta = g(x,y,z)dy,$$ then $\omega\wedge\eta = f(x,y,z)g(x,y,z)dx\wedge dy$ and $$d(\omega\wedge\eta) = (\frac{\partial f}{\partial z}g+f\frac{\partial g}{\partial z})dz\wedge dx\wedge dy;$$ note the other partials do not appear because $dx\wedge dx=0$ and $dy\wedge dy=0$. Continuing the computation, $$ (\frac{\partial f}{\partial z}g+f\frac{\partial g}{\partial z})dz\wedge dx\wedge dy = (\frac{\partial f}{\partial z}dz\wedge dx)\wedge (g dy) \color{red}{-} (f\,dx)\wedge(\frac{\partial g}{\partial z}dz\wedge dy),$$ because $dx\wedge dz\wedge dy = -dz\wedge dx\wedge dy$. Thus, with actual $1$-forms, we have $$d(\omega\wedge\eta) = d\omega\wedge\eta \color{red}-\omega\wedge d\eta,$$ as promised.