One remaining difference between membership and composition relation is that the membership relation includes a state (e.g. 'approved'), so the distinction would still make sense.
To make membership_rel relate group->party instead of group->person was clearly the intention looking at the doc, and I wonder wether it was just an oversight from the person writing acs-kernel/sql/xxx/groups-create.sql or if it was implemented like this for a reason. So either it is a code bug or a documentation bug.