Dug in a bit more and still cannot set the epBindingViewOption property with either property-set or javascript through epComponentService.
So only way is to force it into your App json via SaveApp method. This worked but it seems there’s more to getting the view change to register on the gridComponent.
So once set, the panel-card-grid does do two-way binding with TransView.ViewOption so we can indeed set it and the drop down indeed changes. But the grid doesn’t reflect the change even using the toolRefreshAll and invalidated = true trick.

Maybe some more investigation would find a way to force the grid to notice but invalidated = true is the most destructive way I know of at this time.