Надо явно создать union:
type ITableColumn<
DataInterface extends object,
Keys extends keyof DataInterface = keyof DataInterface
> = {
[K in Keys]: {
key: K;
title: React.ReactNode;
hasSort?: boolean;
render?: (item: DataInterface[K]) => React.ReactNode;
}
}[Keys];