It is stated that the World has an effective range of 10 meters. It is a close range stand, and we know that if any of the Joestar group entered this range of 10 meters, they would automatically be killed by the World with the power of the time stop. It's why Dio doesn't kill the group immediately when they reach his coffin, and it's also why Dio has to chase them. Even with The World's time stop ability, the group was not in range. However, Kakyoin was near the edge of a 20 meter Emerald Splash, yet he was killed. How did this happen?
The stand has a range of "approximately" ten meters, meaning that Kakyoin could've been just inside the Stands Range (unfortunately for him).
Dio probably knows by eye exactly how far away his enemies are from him and whether or not he'd be able to catch them in The World, so he walks forward until Kakyoin is just in range and then uses The World - otherwise he'd be wasting a perfectly good use.
I think also that Emerald Splash was 20 meters in diameter, not 20 meters straight forward, making it more likely that Dio would've been perfectly in range.