"High speed" return currents will follow the path of least impedance. "Low speed" return currents will follow the path of least resistance. This means that high speed signals tend to return on the return path that is closest to the signal path. In other words, if you had an S shaped signal above a ground plane, the return current for a high speed signal would follow an "S" shape whereas the return current for a low speed signal would be a straight line.
There's a really good note about this here:
High Speed Layout Techniques
(in some sources I read that return current will split between layers based on their distance from routing layer)
So, if you have a signal on SO2, its high speed currents will return on GND1 because it is closest - and in fact, the really high speed currents will only be on the surface of GND1 that is closest to SO2. If you have a signal on SO3, its high speed currents will return on GND2 - but its low speed currents may return on GND1 or be split between GND1 and GND2, etc. To be honest, I'm not quite sure what qualifies as "low speed" versus "high speed" - maybe someone else can answer that. There are a lot of equations that would
whether high speed return current will couple into signal layer also equally as like in surrounding GND plane.
Your gnd currents will not "return" through your signal layers unless they are bypassed to gnd for some reason like power pours (which makes them high frequency gnds).
One more...I read return current can couple any PCB trace (may be like cross talk).
To avoid crosstalk and signals coupling between routing layers, make sure that you rout adjacent layers perpendicular to eachother. Avoid having traces run "on top of eachother" as much as possible.