This looks like an oversight that occurred because no one actually tried to create and validate a working treegrid when we came up with the original markup.
A treegrid is filled with role="row" descendants. Each row is expandable, and can support aria-label, aria-expanded. However, unlike a treeitem, there is no way to help the AT know where the user is within a given level. For that, we need aria-setsize and aria-posinset.
Filing this after @sideshowbarker pointed out that the validator is following the rules, disallowing this markup.
Related bug: https://bugzilla.validator.nu/show_bug.cgi?id=1033
This is blocking the creation of a valid treegrid for the ARIA authoring guide.