$\newcommand{\V}{\mathscr{V}}\newcommand{\C}{\mathsf{C}}\newcommand{\B}{\mathbf{B}}\newcommand{\M}{\mathcal{M}}\newcommand{\vect}{\mathsf{Vect}_k}\newcommand{\op}{{^{\mathsf{op}}}}$This is kind of an enriched cotensor construction. Let $\V$ be any complete, closed symmetric monoidal category; there is a notion of $\V$-enriched category, and a notion of $\V$-module and $\V$-comodule which are special kinds of $\V$-category with associated tensor or cotensor functors (which can be promoted to $\V$-functors in an excellent way but the details are not easy to check, and seem to hardly ever be checked in fact). Sweeping definitions and details under the rug, suppose $\underline{\M}$ is a $\V$-comodule with cotensor $\pitchfork$. Then for any small $\V$-category $\underline{\C}$ there is a natural to consider and easy to write down associated $\V$-functor (there are various ways to make the cotensor act on functors, this is just one of them): $$\pitchfork:\underline{\V^{\underline{\C\op}}\boxtimes\M}\to\underline{\M^{\underline{\C}}}$$Given as the adjunct of:$$\underline{(\V^{\underline{\C\op}}\boxtimes\M)\boxtimes\C}\cong\underline{((\V\op)^{\underline{\C}}\boxtimes\C)\boxtimes\M}\overset{\mathsf{eval}\boxtimes1}{\longrightarrow}\underline{\V\op\boxtimes\M}\overset{\pitchfork}{\longrightarrow}\M$$
In the special case of $\underline{\V}=\underline{\vect}=\underline{\M}$ and $\underline{\C}=\underline{\B kG}$ the one-object $\V$-category with hom space $k[G]$, there is an isomorphism $\underline{\C}\cong\underline{\C\op}$ and your dual construction is the following $\V$-functor: $$()^\star:\underline{\V^\underline{\C}}\cong\underline{\V^{\underline{\C\op}}}\overset{(1,k)}{\longrightarrow}\underline{\V^{\underline{\C\op}}\boxtimes\V}\overset{\pitchfork}{\longrightarrow}\underline{\V^{\underline{\C}}}$$Where we use the canonical cotensoring of $\V$ over itself. In particular, the $G$-module structure comes for free.
After all, the $\vect$-category of $k$-representations of $G$ is nothing but $\underline{\vect^{\underline{\B kG}}}$ amirite? Unwinding definitions, the above could be more simply (but less generally) expressed as:
$()^\ast:\underline{\vect^{\underline{\B kG}}}\to\underline{\vect^{\underline{\B kG}}}$ is the $\vect$-functor on $G$-representations adjunct to: $$\underline{\vect^{\underline{\B kG}}\boxtimes\B kG}\overset{\text{group duality}}{\cong}\underline{(\vect\op)^{\underline{\B kG}}\boxtimes\B kG}\overset{\mathsf{eval}}{\longrightarrow}\underline{\vect\op}\overset{\underline{\vect}(-,k)}{\longrightarrow}\underline{\vect}$$
This formalism allows you to intrinsically describe the $G$-representation structure on the dual of $E$ (without making any choices, we have a map into $G$-representations) and moreover know for free that this dualisation is functorial and moreover functorial in a $k$-linear way.