This is true without any further assumptions on $M,V,W$ and discussed quite thoroughly in chapter 7 of Conlon's wonderful book "Differentiable Manifolds". The proof given in the text is quite elegant so I can't resist recalling the argument.
There is an obvious $C^{\infty}(M)$-bi-linear map $\alpha \colon \Gamma(V) \times \Gamma(W) \rightarrow \Gamma(V \otimes W)$ given by $\alpha(\xi,\eta)_p = \xi_p \otimes \eta_p$ which gives rise to a map $\alpha \colon \Gamma(V) \otimes_{C^{\infty}(M)} \Gamma(W) \rightarrow \Gamma(V \otimes W)$. We want to show that $\alpha$ is an isomorphism.
When $V$ and $W$ are trivial bundles of rank $n$ and $k$ respectively, one can choose $n$ pointwise linearly independent sections $\xi_i \in \Gamma(V)$ and $k$ pointwise linearly independent sections $\eta_j \in \Gamma(W)$ and then $\Gamma(V \otimes W)$ is easily seen to be a free $C^{\infty}(M)$ module with basis $\{ \xi_i \otimes \eta_j \}_{i,j}$ and so $\alpha$ is an isomorphism of $C^{\infty}(M)$ modules.
If $V$ and $W$ are not trivial, we interpret them as a direct summands of some trivial bundles. That is, we find vector bundles $V^{\perp}$ and $W^{\perp}$ such that $V \oplus V^{\perp}$ and $W \oplus W^{\perp}$ are trivial bundles. Then, by looking at the diagram
$$ \require{AMScd}
\begin{CD}
\Gamma((V \oplus V^{\perp}) \otimes (W \oplus W^{\perp})) @<{\tilde{\alpha}}<< \Gamma(V \oplus V^{\perp}) \otimes_{C^{\infty}(M)} \Gamma(W \oplus W^{\perp}) \\
@AAA @AAA \\
\Gamma(V \otimes W) @<{\alpha}<< \Gamma(V) \otimes_{C^{\infty}(M)} \Gamma(W)
\end{CD} $$
we see that $\tilde{\alpha}$ is injective by the previous paragraph, and we can check directly that both vertical arrows (that are defined with the help of the injective bundle maps $v \mapsto (v,0)$ of $V \rightarrow V \oplus V^{\perp}$ and $w \mapsto (w,0)$ of $W \rightarrow W \oplus W^{\perp}$) are injective, showing that $\alpha$ is injective. Similarly, by reversing the direction of the vertical arrows and replacing them with projections, we see that $\alpha$ is also surjective.
The crux of the proof is the result that every bundle $V$ over $M$ can be realized as a subbundle of a trivial bundle $F$ (stated in terms of the module of global sections, this means that $\Gamma(V)$ is a $C^{\infty}(M)$-projective module). This can be shown by constructing an epimorphism $\psi \colon F \rightarrow V$ of vector bundles from a trivial bundle $F$ onto $V$ and using a fiber metric to split $F$ as an inner direct sum $F = \ker(\psi) \oplus \ker(\psi)^{\perp}$ with $\ker(\psi)^{\perp} \cong V$.
The construction of $\psi$ uses partition of unity. When $M$ is compact, one takes a partition of unity $\{\lambda_i\}_{i=1}^n$ subordinate to a cover $\{U_i\}_{i=1}^n$ of $M$ over which $V$ trivializes with generating global sections $\xi_i^j \in \Gamma(U_i,E|_{U_i})$. Then, one can define global sections $\sigma_i^j = \lambda_i \xi_i^j$ by zero extension outside $U_i$. We obtain finitely many sections, and by taking the trivial bundle with the vector space $X = \mathrm{span} \{ \sigma_i^j \} \subseteq \Gamma(V)$ as fiber, and defining $\psi \colon M \times X \rightarrow V$ as $\psi(p,\sum \sigma_i^j) = \sigma_i^j(p)$ we obtain the required map.
Addendum:
- One can use the ideas described in the proof above to show Swan's theorem about the equivalence of categories between the category of (smooth, finite rank) vector bundles over $M$ and the category of projective finitely generated $C^{\infty}(M)$ modules.
- In the algebraic / holomorphic setting, this fails badly, at least for projective varieties. While in the smooth category, you can identify a vector bundle with the module of global sections, in other settings the module of global sections doesn't hold enough information about the vector bundle and one should consider the sheaf of sections instead. This failure also provides a geometric example of why one needs to sheafify when taking tensor products (one expects that the sheaf of sections of the tensor product will be the tensor product of the sheaves of sections and so $\Gamma(\mathcal{O}(-1) \otimes \mathcal{O}(1)) \cong \Gamma(E(1) \otimes E(-1)) \cong \Gamma(E(0)) = \mathbb{C}$ which obviously cannot hold if you don't sheafify).
- The fact that every (continuous) finite rank vector bundle is a direct summand of a trivial bundle is true even if we merely assume that $M$ is compact and Hausdorff. One can get rid of the assumption that $M$ is compact when $M$ is a manifold, but cannot get rid of it in general. In Hatcher's "Vector Bundles and K-Theory", it is shown that the tautological line bundle over $M = \mathbb{RP}^{\infty}$ is not a direct summand of a trivial bundle using characteristic classes.
Yes, that is a fine proof.
As a general principle, if you can write down an isomorphism of vector spaces without making any choices, then you have written down an isomorphism of vector bundles.
Let's make that principle precise in this case. On a small open set $U$, trivialize the vector bundles $V_1$ and $V_2$ with frames (:=sections which form a basis at every point-- note that, seemingly contra the principle, we've made a choice) $e_1, \ldots, e_n$ and $f_1, \ldots, f_m$ (I changed your notation $r_1, r_2$ to $m, n$ to avoid double subscripts).
Then the bundle $V_1 \otimes V_2$ is trivialized with frame $e_i \otimes f_j$ and its determinant trivialized with the singleton frame (alphabetical order)
$$
(e_1 \otimes f_1) \wedge (e_1 \otimes f_2) \wedge \ldots \wedge (e_1 \otimes f_m) \wedge(e_2\otimes f_1) \wedge \ldots \wedge (e_n \otimes f_m)
$$
which we may map to
$$
(e_1\wedge \ldots \wedge e_n)^m \otimes (f_1 \wedge \ldots f_m)^n.
$$
Now it seems so far that our map depends on choices, but it does not. We just need to check that multiplying an $e_i$ by an invertible function, adding $\phi e_i$ to $e_j$ (for $\phi$ an arbitrary function), or flip-flopping $e_i$ and $e_j$ does nothing (and same for $f_i$ and $f_j$). Note that in each case, the given bases for $\text{det}(V_1 \otimes V_2)$ and $\text{det} (V_1)^m \otimes \text{det} (V_2)^n$ multiply by the same scalar function, so the map doesn't change.
We were (allegedly) doing all the above reasoning on a small open set $U$ -- otherwise, there may not exist a frame (the existence of a frame on an open set being equivalent to a vector bundle being trivial). Now suppose we define a global map by doing the same reasoning on ALL open sets. We have to check that if $U$ and $W$ are different, we have defined the same map on $U \cap W$.
But it follows from the independence of choices. The restriction of a choice of frame over $U$ to a frame over $U \cap W$ gives the map of bundles over $U \cap W$, and so does the restriction of a choice of frame over $W$. But we know that the map doesn't depend on a choice. So we've therefore given a global map of vector bundles.
In general it can be general to try to work even more abstractly, i.e. not in terms of picking bases, so that it becomes completely automatic, by the above principle, that a map of vector spaces extends to a map of vector bundles.
Best Answer
The desired statement about tensor products is that $E_1 \otimes E_2$ is isomorphic to $E_2 \otimes E_1$, not that it is equal to $E_2 \otimes E_1$.
If $E'$ and $E''$ are vector bundles given by transition functions $g'_{ij}$ and $g''_{ij}$, then they will be isomorphic iff these transition functions determine the same element in the (sheaf) cohomology set $H^1(X,\operatorname{GL}_n)$. This means two things: (i) one is allowed to pass to a refinement of the covering, and (ii) one regards two sets of transition functions on the same covering as being equivalent if there exists $\lambda_i: X \rightarrow \operatorname{GL}_n$ such that
$g''_{ij} = \lambda_i^{-1} g'_{ij} \lambda_j$:
one says that $g'$ and $g''$ are cohomologous.
This is all rather abstract, but if you look back at what you've already written, you should find that you've explained exactly what functions $\lambda_i$ to take to show that your two sets of transition functions are cohomologous (in this case it is not necessary to refine the cover), hence the corresponding vector bundles are isomorphic.
Added: I just looked at Hatcher's notes/prebook, and he does not introduce the cohomological perspective here. So probably there's a better way to look at it. How about this: one can argue Atiyah-style (i.e., from his book on K-theory) that there is a natural isomorphism of finite dimensional vector spaces $V \otimes W \rightarrow W \otimes V$ (just switch the factors!), so this will extend to an isomorphism of the tensor product of vector bundles. (This seems a lot simpler, but the OP phrased things in terms of transition functions, and I like that perspective a lot. It requires nonabelian sheaf cohomology to really be done right, but -- what can I say? -- in my line of work nonabelian cohomology of sheaves -- on Grothendieck topologies, no less -- is fairly ubiquitous anyway.)