keyof T — union property keys T as type; typeof value lifts runtime value into type world. Chain keyof typeof obj — type tracks real object, не hand-maintained parallel union that drifts.
Two worlds: values (runtime) и types (erased). typeof bridge upward — value → type. keyof within types — type → key union. Neither crosses back: no keyof value, no typeof type.
Drift reason: config object and type Keys = 'a' | 'b' by hand eventually disagree. keyof typeof config derives union from object, never out of sync.
Итог
typeof поднимает value; keyof достаёт keys; вместе — sync типов с константами.