[guided]The only point needing verification beyond the fibrewise basis statement is smoothness. We use the local characterization built into the definition of a smooth vector bundle section: a section is smooth precisely when, after composing with a smooth local trivialization, its base-and-fibre coordinate representative is a smooth map. Thus we use the trivialization supplied by the original frame.
Let $(e_1,\dots,e_r)$ be the standard basis of $\mathbb{R}^r$. Because $(s_1,\dots,s_r)$ is a smooth local frame for $E$ over $V$, every vector $e\in E_y$ with $y\in V$ can be written uniquely as
\begin{align*}
e=\sum_{j=1}^r a_j s_j(y)
\end{align*}
for coefficients $a_1,\dots,a_r\in\mathbb{R}$. This defines the frame trivialization $\Phi:E|_V\to V\times\mathbb{R}^r$ by
\begin{align*}
\Phi\left(\sum_{j=1}^r a_j s_j(y)\right)=(y,(a_1,\dots,a_r)).
\end{align*}
Why is this a smooth trivialization? We check it in an arbitrary local trivialization. Fix $y_0\in V$, choose an open set $W\subset V$ containing $y_0$, and choose a smooth bundle trivialization $\Theta:E|_W\to W\times\mathbb{R}^r$. For each $j\in\{1,\dots,r\}$, define $b_j:W\to\mathbb{R}^r$ by $\Theta(s_j(y))=(y,b_j(y))$. These maps are smooth because they are the fibre-coordinate functions of the smooth sections $s_j$ in the smooth trivialization $\Theta$.
Now define $A:W\to\mathbb{R}^{r\times r}$ by taking the $j$th column of $A(y)$ to be $b_j(y)$. The frame hypothesis says that $(s_1(y),\dots,s_r(y))$ is a basis of $E_y$, so the coordinate vectors $(b_1(y),\dots,b_r(y))$ form a basis of $\mathbb{R}^r$. Hence $A(y)\in GL_r(\mathbb{R})$ for every $y\in W$. If $\Theta(e)=(y,c)$ and $e=\sum_{j=1}^r a_j s_j(y)$, then $c=A(y)a$, so $a=A(y)^{-1}c$. Therefore, in the trivialization $\Theta$, the map $\Phi$ has the local expression $(y,c)\mapsto (y,A(y)^{-1}c)$. Since matrix inversion is smooth on $GL_r(\mathbb{R})$, this local expression is smooth. The inverse formula $(y,a)\mapsto \sum_{j=1}^r a_j s_j(y)$ is smooth because it is built from the smooth sections $s_j$ using the smooth fibrewise addition and scalar multiplication maps of the vector bundle.
Now set $U:=f^{-1}(V)$. The pullback trivialization associated to $\Phi$ is $\Psi:(f^*E)|_U\to U\times\mathbb{R}^r$, defined by $\Psi(x,e)=(x,a)$, where $a=(a_1,\dots,a_r)$ is determined by
\begin{align*}
\Phi(e)=(f(x),a).
\end{align*}
This map is smooth because it is the coordinate chart used in the pullback smooth structure; explicitly, it keeps the base coordinate $x$ and records the fibre coordinate of $e\in E_{f(x)}$ in the original trivialization over $V$.
For the pulled-back section $f^*s_i$, we compute its coordinate expression. Since $s_i(f(x))$ is the $i$th frame vector at $f(x)$, its coordinates in the frame $(s_1,\dots,s_r)$ are $e_i$. Therefore
\begin{align*}
\Phi(s_i(f(x)))=(f(x),e_i),
\end{align*}
and hence
\begin{align*}
\Psi((f^*s_i)(x))=\Psi(x,s_i(f(x)))=(x,e_i).
\end{align*}
The representing map $U\to U\times\mathbb{R}^r$ is given by $x\mapsto (x,e_i)$, which is smooth because it is the product of the identity map on $U$ and the constant map with value $e_i$. Thus each pulled-back section $f^*s_i$ is smooth.[/guided]