Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Among number theorists, a canonical reference is the chapter of Atiyah-Wall on group cohomology in Cassels-Fröhlich. Another good reference is Ken Brown's book "Cohomology of Groups".
By definition, ${\rm Hom}(B,C)$ is the submodule of ${\rm Hom}_{\mathbb Z}(B,C)$ on which $G$ acts trivially, so there is a $G$-module structure on it, the trivial one. So your interpretation via restriction does make sense, but a typo still seems more likely. It is actually much more common to write ${\rm Hom}$ for all $\mathbb{Z}$-linear homs, and ${\rm Hom}_G$ for $G$-homs.
Just to be clear: for the displayed equality to be true, Sel$_p$ should mean the $p$-infinity Selmer group (the $p$-Selmer group also sees the $p$-torsion of the elliptic curve) , which is, in general, not of finite rank over $\mathbb{Z}_p$, but of finite co-rank (i.e. the Pontryagin dual has finite rank) so that "rank" in front of Selmer and in front of Sha should be "co-rank".
1. Clearly, if $M_p$ is free (for just a single prime $p$!), then $\mathbb{Q}_p\otimes M=\mathbb{Q}_p\otimes_{\mathbb{Q}}(\mathbb{Q}\otimes M)$ is a free $\mathbb{Q}_p[G]$-module, whence $\mathbb{Q}\otimes M$ is free (it is a very general fact that if $K$ is a field, and two modules over $K[G]$ become isomorphic after extending the field of scalars, then they are already isomorphic over the smaller field).
@YemonChoi To be fair, Maschke's Theorem and Artin-Wedderburn is not exactly research level. And to ask that question for a matrix algebra would also not be research level. For the record: I did not vote to close, because I cannot be bothered, but I can easily see why someone would.
No, I would not necessarily expect the local conditions at 2, 3, and $p$ to be the same for the two curves. But if you get lucky, then the twisting changes these conditions in "opposite directions", so that the Selmer rank does not change in the end. As I say, this would actually require careful analysis.
... One could try to analyse carefully what happens to the local conditions at those remaining places under twisting, which should lead to a comparison of the 2-Selmer ranks.
Since the two elliptic curves are quadratic twists of each other (by the quadratic character cut out by $\mathbb{Q}(\sqrt{-1})$), their 2-torsion subgroups are canonically isomorphic as Galois modules, so one can identify $H^1(\mathbb{Q},E_1[2])$ with $H^1(\mathbb{Q},E_2[2])$. The respective 2-Selmer groups are therefore subgroups of this common overgroup, given by (potentially different) local conditions. By Mazur-Rubin, Ranks of twists of elliptic curves and Hilbert’s tenth problem, Lemma 2.10, the local conditions are equal at all places except possibly 2, 3, and $p$. contd...