I do not think QML was designed to support the creation of dynamic properties.
Depending on your use case, this could be handled using a "script instance" (I composed the term). Basically, each instance of a QML component that imports a script that does not have a statement .pragma librarywill work with its own copy of the globals declared in the script.
For example, you can look at the PageStack (qt-components) code page .
import "PageStack.js" as Engine, , , , .
QML- , "script " .