I have tested whether a user can join a subgroup directly after responding to an invite, and yes: he can. However, if a user tries to join a subgroup directly via e-mail, Groups.io sends out conflicting responses and does subscribe the user to the subgroup.
1. In a test, a user (i.e. me) tried to subscribe to my test group's subgroup directly, via e-mail (not via invite).
2. Groups.io replied (from the subgroup), telling the person to "reply" to confirm the subscription (to the subgroup). The reply from Groups.io mentioned the subgroup specifically and not the main group at all.
3. After the user replied to the message, the moderator received a message from Groups.io that the test user wants to join the *main* group (not the subgroup).
4. After the moderator approved the membership, the test user is a member of the main group, but not of the subgroup.
5. After a few minutes, the test user received a welcome message from the *main* group, and the moderator received confirmation that the test user joined the main group.
6. The test user is still not subscribed to the subgroup, and (presumably) has to try to join the subgroup a second time.