The image here:
Seems to show a single machine in each region. For each shard tagged 'JP', for example, best to have several replica-set members deployed in Japan with high replica-set priority, and then de-prioritize the RS members out of Japan. Then if the primary goes down, another machine in Japan will take over the write load from app servers in Japan. Same, obviously, for the other regions besides Japan.
As currently drawn the cluster is deployed so that if a machine goes down in Japan a secondary in NY or London will take over as primary and applications will send writes across the globe.