А ничего, что QVariant и std::variant - фундаментально разные сущности?)
Семантика одна же только у QVariant есть хренова куча конструкторов для разных типов, чтобы хранить что-то, а std:: используются вариативные шаблоны и перечисляются типы, которые можно хранить в нём. Ну в QVariant ещё метамагия используется с маппингом типов в значения enum