Yes, your expressions are correct.
For the curious.
It should not be very difficult, once you adopt the so-called abstract index notation point of view.
Let $V$ be a vector space of dimension $n = \dim(V)$, and $\{e_i\}_{i=1,\dots,n}$ be a basis in $V$. Any element $v \in V$ can be written as $v = v^i e_i$, where the Einstein summation assumed every time we have the repeated indices in the expression.
In the dual space $V^* = \mathrm{Hom}(V,\mathbb{R})$ we have the corresponding dual basis $\{\theta^j\}_{j=1,\dots,n}$ with the defining property $\theta^j(e_i) = \delta_i{}^j$, where $\delta_i{}^j$ is the Kronecker symbol, that is $\delta_i{}^i = 1$ for all $i=1,\dots,n$, and $\delta_i{}^j = 0$ for all $i\neq j$. Any element $\omega \in V^*$ is uniquely represented as $\omega = \omega_j \theta^j$.
Furthermore, if $v$ and $\omega$ are as above, a standard computation reveals that $\omega(v) = \omega_i v^i$ for any pair of dual bases involved in obtaining $v^i$ and $\omega_j$.
The abstract index notation is simply viewing $\omega(v)$ and $\omega_i v^i$ as synonymous expressions. Reportedly, physicists do this since the inception of general relativity, just as a heuristic or mnemonic. Roger Penrose suggested a formalized treatment of this notation, which makes it mathematically rigorous. In the nutshell, one uses the indices as labels to distinguish vectors from $1$-forms (by position), and concatenations of indices to denote tensor products.
So, let us write $V^i$ instead of $V$, and $V_i$ let stand for $V^*$. Then the notation $v^i$ will unambiguously imply that $v^i \in V^i$, and similarly $\omega_j$ just means that $\omega_j \in V_j$. Tensor products are now easy to write, e.g. $V^{ij}$ stands for $V\otimes V$, and $V_i{}^j$ is the notation for $V^* \otimes V$. The Kronecker symbol $\delta_i{}^j$ is the abstract index reincarnation of the identity operator $\mathrm{id} \colon V \to V$ due to the canonical isomorphism $\mathrm{Hom}(V,W) \cong V^* \otimes W$, so we can write $\delta_i{}^j \in V_i{}^j$.
These conventions are extended to vector bundles without changes, and it is convenient to denote a vector bundle and the space of its sections by the same letter. In particlular, let $E^i$ stand for the tangent bundle over a manifold $M$, and then by $E_j$ we shall mean the cotangent bundle. The notation $v^i \in E^i$ will mean either a tangent vector at an unnamed point, or, more frequently, a vector field on $M$.
A (semi)-Riemannian metric is viewed as a section of $E_{(i j)}$, and we write this as $g_{ij} \in E_{(i j)}$. The indices $i,j,\dots$ can be regarded as slots, in which corresponding objects may be inserted, so that the the following is a tautology: $g_{i j} U^i U^j = g(U,U)$.
For any tensor $T$ the covariant derivative $\nabla T$ is again a tensor, and in the abstract index notation we write this as $\nabla_i T_{jk\dots}{}^{lm\dots}$, where $T_{jk\dots}{}^{lm\dots} \in E_{jk\dots}{}^{lm\dots}$. Notice that $\nabla_i T_{jk\dots}{}^{lm\dots}$ is a traditional way of writing $(\nabla T)_{ijk\dots}{}^{lm\dots}$.
In particular, $\nabla_U U$ is just the same thing as $U^i \nabla_i U^j$, that is a vector with the index $j$. It can be substituted into one of the indices in $g_{i j}$, so we can write $g_{i j} U^i U^k \nabla_k U^j$ instead of $g(\nabla_U U,U)$. And yes, the repeated indices can be renamed freely, provided the entire expression can be interpreted correctly.
The full power of the abstract index notation becomes apparent when one tries to express a contraction or a tensor part of some tensor with many indices. Try, for example, to give a traditional "index-free" description for $T_{i[jk]}{}^{i}$ where repeating the indices is the contraction, and the brackets $[\cdot]$ denote the antisymmetric part.