You started your post about about smart-dumb components, but ended with idea of universal components and more abstraction, which will lead to confusion in the junior-react-developers minds.
The idea behind smart-dumb components is only about “please don’t put stores/domain logic in components, when you think (and you ought to think that way, if you don’t want tightly coupled parts) they will be reused”.
So dumb components are only about “pass parameters and callback function in props, so component can be reused in future as you please (eg.: you have model of a player in game world and in inventory. In inventory clickCallback will get nothing inside and in game world it will have ‘shoot’ callback function).
Your abstraction and naming is cool, though. But not for newcomers ;)