I didn't test it, but looking at the code... isgroupHeader should be isGroupHeader as attributes are case-sensitive.

Code:
Ext.define('Ext.grid.header.Container', {
    extend: 'Ext.container.Container',
    ...
    getHeaderIndex: function(header) {
        // If we are being asked the index of a group header, find the first leaf header node, and return the index of that
        if (header.isGroupHeader) {
            header = header.down(':not([isgroupHeader])'); //  <-- typo?
        }
        return Ext.Array.indexOf(this.getGridColumns(), header);
    },
   ...