The Ruby API has only two style properties exposed (name and description.) So we’ve never been able to do anything with styles.
The new C API has quite a bit more exposed. See …
… and the property getter and setter, as well as the property types enumeration.
I do not see the watermark exposed. If not, again, open an issue.
Just FYI, …
.style files are zip archives containing XML files of properties and subfolders of resources (such as watermark images.) You might be able to clone your style to a new file and replace the watermark image using a zip library. Then add the new style to the model file and set it as the active style.
But until a purge function is added to the C API the old style will remain unused within the model file.