У вариантов при использовании в бинарных операциях есть особенность - они заранее приводятся к одному типу.
два чая этому господину) погуглил, нашел, что:
"Variant можно смешивать (в выражениях и операторах) с другими вариантами, числовыми, строковыми и булевскими данными. При этом компилятор автоматически выполняет преобразование типа."
получается компилятор пытался преобразовать значение некорректного элемента