I've found the concept of cosets to be strange when I've encountered them. I want to make sure that I'm understanding how to work with them.
Claim: Given a subgroup $H \leq G$ and $a,b \in G$, we have $aH = bH \iff b^{-1}a \in H$.
Attempt: Assume first that $aH = bH$. This means that as sets $$ \{g \in G \mid g = ah, h \in H\} = \{g \in G \mid g = bh, h \in H\}. $$ Therefore if $aH = bH$ then $ah_1 = bh_2$ for some $h_1,h_2 \in H$. This implies that $b^{-1}a = h_2h_1^{-1} \in H$. Conversely assume that $b^{-1}a \in H$. This means that there exists some $h \in H$ such that $b^{-1}a =h$. Then it follows that $a = bh \in bH$ and that $b = ah^{-1} \in aH$. If we pick any arbitrary $h' \in H$ we must have that $ah' = b(hh') \in bH$ but this means that $aH \subseteq bH$. Identically $bh' = a(h^{-1}h') \in aH$ so $bH \subseteq aH$ and we have $aH = bH$.
Is this overkill? Whenever I read problems or questions the manipulations on cosets seem to be much faster. How can I stop thinking of them as sets, or the quotient group $G/H$ as a "set of sets"?
Thanks in advance.
The proof is correct, and not necessarily overkill but I'm going to give some feedback on how you wrote it, which might tighten it up.
"Therefore if $aH=bH$ then $ah_1=bh_2$ for some $h_1,h_2\in H$." This is not very clear: it looks like a statement involving an existential statement on two elements. What you actually have is that for every $h_1\in H$ there exists $h_2\in H$ such that $ah_1 = bh_2$, and likewise for every $h_3\in H$ there exists $h_4\in H$ such that $ah_4=bh_3$. You can then deduce your statement, but one usually first picks an (arbitrary?) element from $H$ to get the thing started, rather than existentially pick two elements.
Note that this allows you to simplify the argument ans make it look more like the converse: pick $h_1=e$, and deduce that there exists $h\in H$ such that $a=bh$; then $b^{-1}a=h\in H$ is a simpler calculation. (In particular, notice that the only element of $G$ that you know for sure is in $H$ is $e$, so the only instantiation of $h_1$ that you can be sure is valid is $h_1=e$).
Once you get that "then there exists $h$ such that $a=bh\in bH$, you can now invoke the fact that two cosets of $H$ are either disjoint or equal. Since $a\in aH\cap bH$, it follows that $aH=bH$ and you are done. No need for double inclusion. But if you want to do double inclusion, once you have that $b^{-1}a\in H$ implies $aH\subseteq bH$, you can then note that because $H$ is a subgroup, then $b^{-1}a\in H$ implies $a^{-1}b=(b^{-1}a)^{-1}\in H$, which implies that $bH\subseteq aH$, giving equality. This exploits the fact that the roles of $a$ and $b$ are symmetric.
An alternative proof that uses the cosets is to note that $gH=H$ if and only if $g\in H$, which is easy to verify (just note that $e\in gH$ if and only if $g^{-1}\in H$ if and only if $g\in H$). So $$\begin{align*} aH = bH &\iff b^{-1}(aH) = b^{-1}(bH)\\ &\iff (b^{-1}a)H = (b^{-1}b)H\\ &\iff (b^{-1}a)H = eH\\ &\iff (b^{-1}a)H = H\\ &\iff b^{-1}a\in H. \end{align*}$$