Nice prototype! Good idea to use a FieldComparator/Source that sums the score.
I think it is better not to extend AbstractFirstPassGroupingCollector and move the code you need to DocScoresFirstPassGroupingCollector. The AbstractFirstPassGroupingCollector and its other subclasses only keep the top N groups. That is an important difference compared to DocScoresFirstPassGroupingCollector.
Another implementation idea that I like is if we create a collector that is responsible for filling the FieldComparator/Source (in this case the sums of score per group, but might be something different). This collector will create the Sort that the first pass grouping collector will use. With this approach existing code doesn't have to be changed, the logic is in the FieldComparator. The downside is that when a user wants to sort by sum(score), three searches are executed per request.