(a) Actually it reflects the following property of convolution which we never mentioned:
$\newcommand{\supp}{\operatorname{supp}}$
\begin{equation}
\supp (f*g) \subset \supp(f)+\supp(g)
\label{eq-1}
\end{equation}
where $\supp{f}$ is support of $f$ the smallest closed set outside of which $f=0$ and $+$ mean arithmetic sum of sets: $A+B= \{x+y :\,x\in A,\, y\in B\}$
(b) Ian is correct that one should not differentiate non-differentiable "factor" in convolution but instead first change variable of integration $y\mapsto x-y$
\begin{equation}
(f*g): = \int f(x-y)g(y)\,dy = \int f(y)g(x-y)\,dy
\label{eq-2}
\end{equation}
and then differentiate:
\begin{equation}
(f*g)'=\left\{\begin{aligned}
&f'*g,
&f*g'
\end{aligned}\right.
\label{eq-3}
\end{equation}
Note, I did not use $f*g=g*f$ as this would fail for (say) matrix valued functions while (\ref{eq-3}) would remain valid.
PS. Still, in the framework of the theory of distributions we can differentiate everything and
\begin{equation}
(f*g)'=f'*g=f*g'
\end{equation}
where both differentiation and convolution are extended to this framework.