A token system usually ends up existing three times: as Figma variables, as a JSON file in a repo, and as whatever the design tool exported last. Each copy drifts from the others, and the drift is invisible until a component renders with a colour nobody chose.
The usual fix is a conversion step: export from Figma, transform, commit. Every conversion is a place where a value can lose its type. A dimension becomes the string "16px", an easing curve becomes a name, a shadow becomes four unrelated numbers.