"properties" is, overall, a good name; but that might imply that the qgis specific state properites are different since they aren't accessible here. Actually, what if we make "qgis" yet another scope that stores its state in the properties list? E.g., QgsProject::instance()->properties()["qgis"]?
Rename into a general constructor when the old raster interface is retired parameter dummy is just there to distinguish this function signature from the old non-provider one.