Okay, so I have made a fair amount of progress since I last commented.
For either of my strategies, I would come across this Javascript error:
TypeError: property of object such and such is not a function.
I realized, with the help of a colleague, that my assignment of the model was what was screwing me. Instead of creating a .qml file to serve as my custom model, I was using the length of a QVector within a context property from C++, meaning that my model was nothing but a number! Hence, zero access to the Javascript array functions.
So, my new approach is pre-load my models in .qml, rather than constantly make Q_INVOKABLE method calls from a C++ context property class.