The basic idea is the one put forward by Pierre PC's comment above. More precisely, let $u,\varphi,x$ be as in the last paragraph of the OP. There is no loss of generality in assuming that $\varphi(x)=\lambda>0$. Then by continuity of $\varphi$ at $x$ there is an open neighborhood $V\ni x$, $V\subset U$ such that $\varphi(x')>\frac{\lambda}{2}$ for all $x'\in V$, so that by the chain rule $\psi=\frac{1}{\varphi|_V}\in C^\infty(V)$. One then clearly has that $u|_V=\psi(\varphi u)|_V\in C^\infty(V)$ (*exercise:* check this!), thus proving the direction $\Rightarrow$ of the claim. 

By the way, this (together with the reasoning used in the OP to get the $\Leftarrow$ direction of the claim) is essentially the same argument used to prove a similar characterization of the support of a distribution: $$\mathrm{supp}\,u = \bigcap_{\varphi\in C^\infty_c(U),\phi u\equiv 0}\{x\in U\ |\ \phi(x)=0\}\ .$$