Matching only the final match is not desirable, in my opinion. It should match
the string traversed by all the matches in $0, including intervening
separators, if any. The problem is that ~$0 has spaces interpolated, which will
match only if the separators happen to be a single space, so there is now a
$0.backref that returns the string actually traversed by the entire list of
matches. Matching $0 as a backref should use that method.
> p6 'my $abc = " a,b,c, "; $abc ~~ /(\w+ % ",")/; say $0.backref'
a,b,c
BTW, matching just the final match can be accomplished with something like
$($0[*-1]), I suspect.