If the user opens the group client, it only needs to fetch messages from multiple relays—specifically, messages from the last timestamp up to the current time. The client then uses the messages from whichever relay responds the fastest.
Discussion
Pulling group messages from multiple relays is technically fine. But can we really say these relays represent the same group? For example, relay1 might show 3 members, relay2 has 4, and relay3 might already consider the group disbanded. In this case, the group messages you receive are unreliable.
The relay is only responsible for forwarding messages; everything else is outside its concern. The group member list is determined by the group owner.