[proofplan]
There are two assertions: $\rho^*$ is a representation, and its character is $\chi_\rho(g^{-1})$. Verifying $\rho^*$ is a homomorphism is a direct computation, with the inverse $g^{-1}$ in the definition $\rho^*(g)\varphi(v) := \varphi(\rho(g^{-1})v)$ being precisely what makes the order of multiplication agree (without it, we would obtain an antihomomorphism). For the character formula, we diagonalise $\rho(g)$ on $V$ — possible because $\rho(g)$ has finite order — and observe that the dual basis on $V^*$ is then a simultaneous eigenbasis for $\rho^*(g)$ with reciprocal eigenvalues $\lambda_i^{-1}$. Since the eigenvalues are roots of unity, $\lambda_i^{-1} = \overline{\lambda_i}$, and the $\lambda_i^{-1}$ are exactly the eigenvalues of $\rho(g^{-1})$. Summing gives $\chi_{\rho^*}(g) = \sum_i \lambda_i^{-1} = \chi_\rho(g^{-1})$.
[/proofplan]
[step:Define $\rho^*$ on $V^*$ and verify the homomorphism property]
Let $V^* = \operatorname{Hom}_\mathbb{C}(V, \mathbb{C})$ denote the dual space of linear functionals on $V$. The dual representation is the map
\begin{align*}
\rho^*: G &\to \operatorname{GL}(V^*), \\
g &\mapsto \bigl(\varphi \mapsto \varphi \circ \rho(g^{-1})\bigr).
\end{align*}
Equivalently, for $g \in G$, $\varphi \in V^*$, and $v \in V$,
\begin{align*}
\bigl(\rho^*(g)\varphi\bigr)(v) := \varphi\bigl(\rho(g^{-1})v\bigr).
\end{align*}
Each $\rho^*(g)$ is a linear map $V^* \to V^*$ because $\varphi \mapsto \varphi \circ \rho(g^{-1})$ is linear in $\varphi$, and bijective because $\rho^*(g^{-1})$ is its inverse (verified below). So $\rho^*(g) \in \operatorname{GL}(V^*)$.
We verify the homomorphism property $\rho^*(g_1 g_2) = \rho^*(g_1)\rho^*(g_2)$. For arbitrary $\varphi \in V^*$ and $v \in V$,
\begin{align*}
\bigl(\rho^*(g_1)\rho^*(g_2)\varphi\bigr)(v) &= \bigl(\rho^*(g_2)\varphi\bigr)\bigl(\rho(g_1^{-1})v\bigr) \\
&= \varphi\bigl(\rho(g_2^{-1})\rho(g_1^{-1})v\bigr) \\
&= \varphi\bigl(\rho(g_2^{-1} g_1^{-1})v\bigr) \\
&= \varphi\bigl(\rho((g_1 g_2)^{-1})v\bigr) \\
&= \bigl(\rho^*(g_1 g_2)\varphi\bigr)(v).
\end{align*}
The first equality is the definition applied with $g_1$ and the functional $\rho^*(g_2)\varphi$. The second is the definition applied with $g_2$ and $\varphi$. The third uses that $\rho$ is a homomorphism: $\rho(g_2^{-1})\rho(g_1^{-1}) = \rho(g_2^{-1} g_1^{-1})$. The fourth uses the identity $(g_1 g_2)^{-1} = g_2^{-1} g_1^{-1}$ in $G$. The fifth is the definition applied to $g_1 g_2$.
Since this holds for all $v$, $\rho^*(g_1)\rho^*(g_2)\varphi = \rho^*(g_1 g_2)\varphi$ as elements of $V^*$, and since this holds for all $\varphi$, $\rho^*(g_1)\rho^*(g_2) = \rho^*(g_1 g_2)$ as elements of $\operatorname{GL}(V^*)$. Also $\rho^*(1_G)\varphi = \varphi \circ \rho(1_G^{-1}) = \varphi \circ I_V = \varphi$, so $\rho^*(1_G) = I_{V^*}$. Hence $\rho^*$ is a representation.
[guided]
The reason for the inverse $g^{-1}$ in the definition of $\rho^*$ is to fix the order of composition. If we had defined $\rho^*(g)\varphi := \varphi \circ \rho(g)$ (no inverse), the computation
\begin{align*}
\rho^*(g_1)\rho^*(g_2)\varphi = \varphi \circ \rho(g_2) \circ \rho(g_1) = \varphi \circ \rho(g_2 g_1)
\end{align*}
would give $\rho^*(g_1 g_2) = \rho^*(g_2)\rho^*(g_1)$ — an antihomomorphism. The inverse fixes this: composing on the right by $\rho(g^{-1})$ reverses the order twice, restoring covariance. Concretely, the chain $(g_1 g_2)^{-1} = g_2^{-1} g_1^{-1}$ uses the order reversal once, and the second order reversal is hidden in the application order $\rho^*(g_1)\rho^*(g_2) = (\text{outer}) \circ (\text{inner})$ pulling $g_1^{-1}$ to the inside.
The verification is the four-line computation above. Each line is the application of one of the building blocks: definition of $\rho^*$, definition of $\rho^*$, $\rho$ is a homomorphism, group inverse identity, definition of $\rho^*$.
[/guided]
[/step]
[step:Diagonalise $\rho(g)$ on $V$ and produce a dual eigenbasis on $V^*$]
Fix $g \in G$. Since $G$ is finite, $g$ has finite order, hence so does $\rho(g) \in \operatorname{GL}(V)$: there exists $m \geq 1$ with $\rho(g)^m = I$. The minimal polynomial of $\rho(g)$ divides $X^m - 1$, which has distinct roots over $\mathbb{C}$ (the $m$-th roots of unity), so $\rho(g)$ is diagonalisable. Choose a basis $e_1, \ldots, e_n$ of $V$ such that $\rho(g)e_j = \lambda_j e_j$, where $\lambda_1, \ldots, \lambda_n \in \mathbb{C}$ are the eigenvalues (each $|\lambda_j| = 1$ since they are roots of unity). Then
\begin{align*}
\chi_\rho(g) = \operatorname{tr}(\rho(g)) = \sum_{j=1}^n \lambda_j.
\end{align*}
Let $\varepsilon_1, \ldots, \varepsilon_n \in V^*$ be the dual basis, defined by $\varepsilon_i(e_j) = \delta_{ij}$. We compute the action of $\rho^*(g)$ on $\varepsilon_i$. For each $j$,
\begin{align*}
\bigl(\rho^*(g)\varepsilon_i\bigr)(e_j) = \varepsilon_i\bigl(\rho(g^{-1})e_j\bigr) = \varepsilon_i\bigl(\lambda_j^{-1} e_j\bigr) = \lambda_j^{-1}\, \delta_{ij},
\end{align*}
where the second equality uses $\rho(g^{-1}) = \rho(g)^{-1}$ acting on the eigenvector $e_j$ with eigenvalue $\lambda_j^{-1}$. So $\rho^*(g)\varepsilon_i$ takes the value $\lambda_i^{-1}$ at $e_i$ and $0$ at all other basis vectors, i.e.,
\begin{align*}
\rho^*(g)\varepsilon_i = \lambda_i^{-1}\, \varepsilon_i.
\end{align*}
Hence $\varepsilon_1, \ldots, \varepsilon_n$ is a basis of $V^*$ diagonalising $\rho^*(g)$, with eigenvalues $\lambda_1^{-1}, \ldots, \lambda_n^{-1}$.
[guided]
The eigenvalue computation on the dual basis is the heart of the proof. We are computing the matrix of $\rho^*(g)$ in the basis $\{\varepsilon_i\}$, which, since the action is diagonal, reduces to identifying a single eigenvalue per basis vector.
The relevant identity is $\rho(g^{-1})e_j = \lambda_j^{-1} e_j$. This follows because $\rho$ is a homomorphism: $\rho(g)\rho(g^{-1}) = \rho(1) = I$, so $\rho(g^{-1}) = \rho(g)^{-1}$, and the inverse of a diagonal matrix is the diagonal matrix of reciprocals. So $\rho(g^{-1})e_j = \rho(g)^{-1}e_j = \lambda_j^{-1}e_j$.
Why is $\varepsilon_i$ an eigenvector of $\rho^*(g)$ rather than a more complicated linear combination of the $\varepsilon_j$? Because the dual basis dualises the eigenbasis: the matrix of $\rho^*(g)$ in $\{\varepsilon_i\}$ is the inverse-transpose of the matrix of $\rho(g)$ in $\{e_j\}$. The inverse-transpose of a diagonal matrix $\operatorname{diag}(\lambda_1, \ldots, \lambda_n)$ is $\operatorname{diag}(\lambda_1^{-1}, \ldots, \lambda_n^{-1})$, again diagonal. The eigenvectors of $\rho^*(g)$ in the dual basis are the $\varepsilon_i$, with eigenvalues $\lambda_i^{-1}$.
[/guided]
[/step]
[step:Sum eigenvalues to obtain $\chi_{\rho^*}(g) = \chi_\rho(g^{-1})$]
By Step 2, $\rho^*(g)$ is diagonal in the basis $\{\varepsilon_i\}$ with eigenvalues $\lambda_i^{-1}$, so
\begin{align*}
\chi_{\rho^*}(g) = \operatorname{tr}(\rho^*(g)) = \sum_{i=1}^n \lambda_i^{-1}.
\end{align*}
On the other hand, the same diagonalisation of $\rho(g)$ with eigenvalues $\lambda_i$ gives a diagonalisation of $\rho(g^{-1}) = \rho(g)^{-1}$ in the basis $\{e_i\}$ with eigenvalues $\lambda_i^{-1}$, so
\begin{align*}
\chi_\rho(g^{-1}) = \operatorname{tr}(\rho(g^{-1})) = \sum_{i=1}^n \lambda_i^{-1}.
\end{align*}
The two right-hand sides agree, giving
\begin{align*}
\chi_{\rho^*}(g) = \chi_\rho(g^{-1})
\end{align*}
for all $g \in G$.
[guided]
The two traces $\operatorname{tr}(\rho^*(g))$ and $\operatorname{tr}(\rho(g^{-1}))$ are computed by summing eigenvalues in their respective diagonalisations. Both turn out to be $\sum_i \lambda_i^{-1}$, hence equal.
There is also a slicker derivation. Since $|\lambda_i| = 1$ (the eigenvalues are roots of unity), $\lambda_i^{-1} = \overline{\lambda_i}$. So
\begin{align*}
\chi_{\rho^*}(g) = \sum_i \lambda_i^{-1} = \sum_i \overline{\lambda_i} = \overline{\sum_i \lambda_i} = \overline{\chi_\rho(g)}.
\end{align*}
This gives the related identity $\chi_{\rho^*}(g) = \overline{\chi_\rho(g)}$, which combined with the well-known $\chi_\rho(g^{-1}) = \overline{\chi_\rho(g)}$ (proved similarly) recovers our formula.
The interpretation: $V^*$ encodes the "inverse" or "dual" direction of $V$. Tracing the action of $g$ on the dual is the same as tracing the action of $g^{-1}$ on the original — equivalent under the bijection $g \leftrightarrow g^{-1}$ on $G$.
[/guided]
[/step]