To build a real design system, one should be able to reference variables inside colors. This is pretty basic stuff.
Advantage:
Distinguishing between Primitives and Tokens
Example:
Primitive: grey-1, grey-2….grey-9
Token: bg-surface: var(–grey-2)
So each color has to be declared only once and then referenced throughout the system.
I agree, you should be able to setup varibles so they cascade by default, allowing you to change the default at any point in the chain.