Dear mincd_evolpe,
you are able to solve your problem simply by assign site.node to a local javascript variable and use it to refer public site methods.
For example:
var yourvarname = site.node;
yourvarname.properties["stcp:siteComment"] = siteComment;
yourvarname.properties["stcp:matureOnly"] = matureOnly;
yourvarname.save();
By the way, we hadn't use the site custom properties. We had added simply a new property to st:site model. In fact, it seems that at the moment (4.0.2 EE version) the real use of custom site properties is not clear. The class Site.CustomProperty doesn't have public setter so we can't set at all custom property values during site editing, why?
Bye,
Francesco.