The fundamental limitation here was that RNA did not support different default values for the same property yet (and all sockets of the same type have the same property). This patch solves this by adding a new callback to rna property types to retrieve a default value dynamically. Together with the socket declarations it's fairly easy to get this working nowadays. This also works for group nodes, because they use the socket declaration internally too. Pull Request: https://projects.blender.org/blender/blender/pulls/122216