Indeed, you are right, the modify command is actually called "replaceCommand" and is only called if you select a node.
And with a callCustom, it seems that they do not update if you update the attribute externally. Maybe a scriptJob can help here which updates the ui in these cases.
If you want to have some user data in an existing AETemplate, e.g. defaultRenderGlobals or something like this, you need your own AETemplate wich has to be called if a AE windows is created. To enable this behaviour you will have to register a callback like this:
pm.callbacks(addCallback=self.aeTemplateCallback, hook='AETemplateCustomContent', owner=self.pluginName)
But you will have no influence when this element is called. The template looks like this:
https://github.com/haggi/OpenMaya/blob/master/src/mayaToAppleseed/mtap_devmodule/scripts/Appleseed/aeNodeTemplates.py