Solution:
Ok sorry if it is a late reply but I stumbled upon the same issue (only that I was using ListView instead) and with a bit of trial and error I found the solution to this:
Basically the problem lies in the fact that the GridView/ListView child automatically requests parent focus (ScrollView) when you “hack” and resize its content with ExpandableHeightGridView, which happens after layout is rendered, and hence you see that animation when trying to scroll it up with scrollTo() (happens AFTER layout is created and AFTER gridView is resized so any generic callback is useless to handle this programatically).
So then, the simplest solution I found was to simply disable focusable property on the ListView/GridView with:
listView.setFocusable(false);
That way when you first enter the activity, focus will default and not rely on Listview/GridView.
And all working fine =)