You are right. It wont work for $n\ge3$
Denote $X=xx^t;Y=yy^t;U=uu^t$
Obviously $X_{ij}=x_ix_j$ .Similarly the others..
To make the resultant a diagonal matrix, all elements except the diagonal of the resultant must be zero. So $$u_2u_1=X_{21}+Y_{21}\implies u_2={X_{21}+Y_{21}\over u_1}$$Now $$u_3u_2=X_{32}+Y_{32}\implies u_3={X_{32}+Y_{32}\over X_{21}+Y_{21}}u_1$$ But also$$u_3u_1=X_{31}+Y_{31}\implies u_3={X_{31}+Y_{31}\over u_1}$$$$\therefore u_1^2={(X_{21}+Y_{21})(X_{31}+Y_{31})\over X_{32}+Y_{32}}$$
But remember $$X_{11}+Y_{11}-u_1^2\ge 0$$$$\implies X_{11}+Y_{11}-{(X_{21}+Y_{21})(X_{31}+Y_{31})\over X_{32}+Y_{32}}\ge 0$$
Obviously this imposes a restriction on the values $X\ \&\ Y$ can take, so it wont hold for any random vector $x$ and $y$ for $n\ge 3$