And therein lies the problem. Fiber latency from coast to coast in CONUS is 20ms in the very best case. But that will never happen, and you instead of many hops, where the latency is typically upwards of 40ms just for the fiber. Elon is saying the latency will be around 20ms. How? Because he's quoting a single path up and down in the same beam in the best case. Nominally, it will be much, much higher.
When people quote you their ping times, they quote it to the nearest AWS or Google CDN, not to servers on the other side of the country. They type "ping google.com". If the Starlink base station is co-located with a Google CDN, best case is an 8ms ping time. (There might not be a google CDN but there definitely will be a Netflix cache in each base station) 550km one way at the speed of light is 2ms. Up & down for the ping and then up & down for the pong gives 8. Normal case is probably about triple that because the satellite won't be straight up and the CDN won't be co-located. But lots of base stations will be in the same metro as a CDN.
I've never heard of people quoting their ping time based on the closed DC to them. Let's say you're playing a game (fortnite, for example). You have a ping time based on where that server is. It may be across the country from you, and there's nothing you can do about that to make it better. Their ping time will not be anywhere near 20ms as that tweet alluded to. I'm pinging google.com on a fiber connection right now, which would go to one of their load-balanced DNS entries. I get 30ms. When people say you have 30ms of latency, they expect that latency for the normal things they do, not in some artificial test of path delay. Otherwise traditional satellite is 480ms and not 600ms, and fiber is 15ms and not 30-40ms.