так или иначе общение с моделью идет посредством вызова data/setData (чтение/модификация) через QVariant
Верно, при этом дублирования всего набора производиться не будет, так? Сейчас у меня поток из QNetworkReply парсится в QJSONArray, созданный на стеке, далее из этого массива данные копируются в кастомный класс на базе QAbstractListModel. И уже из нее QML вычитывает данные через data(...). Вроде бы логично было бы копирование из JSON в модель пропустить и преобразовывать в QVariant на лету?