When a list is not visible, and an item is added to a grouped list, the groupOffsets property is not set correctly.
All of the offsets are being set to 0, causing the last group header to always be used during scroll.

Not sure if this is the best fix, but here is what I did to address this issue
I updated the Ext.List updateOffsets method as follows
    updateOffsets : function() {
        if (this.grouped && this.isVisible()) {
I think this is okay, as the only method that uses this property, getClosestGroups, calls the updateOffsets if groupOffsets is not set.