Technical explanation
If a global Service has no healthy local endpoints matching its selector, every available backend can be remote. Cluster Mesh synchronizes remote service and endpoint information, allowing the local Cilium datapath to load-balance requests to backend pods in connected clusters. The absence of local endpoints therefore provides a direct explanation for the observed behavior.
If the local cluster were not part of the Cluster Mesh, its Cilium agents would not normally receive the remote endpoint state needed to route traffic through the global Service, so B does not explain successful remote-only selection. An affinity value of none is the default behavior and expresses no preference between local and remote endpoints. When both categories exist and are healthy, this permits load balancing across both; it does not require every connection to use remote backends.
Setting service.cilium.io/shared: "false" prevents the local Service’s backends from being shared with remote clusters. It does not instruct the local cluster to direct all requests toward remote endpoints.
A separate possible cause, not presented among the choices, would be service.cilium.io/affinity: "remote" . Among the supplied answers, however, A is the valid explanation.
Official references
Service Affinity ; Cluster Mesh .
Study Guide topic: Cluster Mesh.