You can accomplish this by putting it all on the client, all on the server, or a mix of both (what they chose).
For all on the server, you could add latency right after receiving data from the client, but before game code processes it, and before sending data to the client.
That said, there likely were technical considerations involved in their decision to do a mix of both.