You can read/write tag props, including writing new custom tag props, with system.tag.readBlocking and system.tag.writeBlocking/Async, which is less destructive than using system.tag.getConfiguration().
By destructive, I mean using getConfiguration (and corresponding system.tag.configure to write changes) with tags within a UDT instance will override all of the props set on them within the UDT definition thus essentially disconnecting their configuration from the definition. Unless you ensure to remove all of the keys except for name and tagType from the objects you get from getConfiguration.
I would highly recommend for this instance to use tag.read/write functions instead.