Establishing that a function is a well-defined homomorphism
Your proof is technically correct, but way too long, for the following reasons.
First, you don't need to prove explicitly that $f_g$ is a bijection. Once you establish that $f_{gh}=f_g\circ f_h$ (which you did correctly), since $G$ is a group it is automatic that $f_g$ is invertible (because $g$ itself is invertible). On the other hand, you do have to prove that $f_g$ is a group morphism, which you did well.
Also, steps (1) and (3) are not useful. There is no need to show that a function $f:X\to Y$ is well-defined if it is described with an explicit formula $f(x)$ for all $x\in X$. The cases where you have to show that a function is well-defined is when $f$ is not described directly in terms on an element of $X$ but rather in terms of some "representative", that depends on a choice. For instance, when one defines a function on $\mathbb{Z}/n\mathbb{Z}$, we usually define $f(\bar{n})$ by some formula depending on $n$; then we have to show that if we had chosen $m$ such that $\bar{m}=\bar{n}$ then the value of the function is the same. Here there is no "choice of representative" or anything like that involved, the functions are just directly defined on the appropriate sets.