You're pinging a device on the ground
t=0 You send out ICMP request
t=120ms it hits the satelite
t=240ms it arrives at the ground station, ICMP reply occurs
t=360ms hits satelite
t=480ms arrives back at the originating machine
The only way doing satelite-satelite at a GEO level would be useful would be
1) You're pinging a device on satellite in GEO (one you don't have LOS to)
2) You're pinging a device that's also connected via a different GEO 120 degrees away from the first
in this case you'll
t=0 You send out ICMP request
t=120ms it hits the satelite
t=240ms it arrives at the ground station 1
t=280ms arrives at ground station 2
t=400ms hits satelite #2
t=520ms arrives back at the destination
t=640ms response arrives at sat #2
t=800ms response arrives at ground station 2
t=840ms response arrives at GS#1
t=960ms response arrives at sat #1
t=1080ms response arrives back at originating machine
You could change that, but you won't save much in GEO as you're connecting to two different satelites, 120 degrees apart or 70,000km (235ms)
t=0 You send out ICMP request
t=120ms it hits the satelite
t=355ms hits satelite #2
t=475ms arrives at destination
t=595ms response arrives at sat #2
t=830ms response arrives at sat #1
t=950ms response arrives back at originating machine
Reality of course is that typical satelite latency is 800ms or more (depending how much you pay to skip buffering) rather than 480ms.