On both the livedemo example and in my code I see the same problem. For subgroups, the iconExpandedGroup and iconCollapsedGroup values display twice and only the outer icon updates when the state is changed.
On the above example, if you expand Group 2 and then expand Group 2.4 you will notice a second 'disc' appears to the left of Group 2.4, which will remain no matter whether you re-collapse or re-expand that item. It does appear that the top group icon works properly in both the example and on my page.
If anyone has a workaround for this or an idea of how it can be prevented, please let me know.