If you are going to use pagination you have to include nextPageToken as one of the fields.
request = groups_sub.list(domain=domain,fields="nextPageToken,groups(directMembersCount,id,name)")
I'd suggest instead of making one API call for each domain, getting all the groups for the account and then parsing the address to know which domain they belong to. Don't forget that groups can also have aliases