xyz
I get what you are saying but if the sole purpose of that variable is to be set in editor to assert that the resources added to the data set are of the correct custom type, as each data set should be bounded to one resource type ? Doesn't it add to the safety ? If it's a @tool script, the resource_type @setter could be constrained to the editor.
Obviously having one custom script for each data set with a clearly defined type hint would be better but for dozen set the whole thing might get redundant.
(Inheriting from the base data_set and just overriding the @export variable with the desired type hint might be the best option tho)
On the initial question, the property_list gives some clue on how it would be simple to change that whenever the resource_type String value is set by overriding the "hint_string" of the resource_set property
{ "name": "custom_resource_set", "class_name": &"", "type": 28, "hint": 23, "hint_string": "24/17:CustomResource", "usage": 4102 }
{ "name": "resource_set", "class_name": &"", "type": 28, "hint": 23, "hint_string": "24/17:Resource", "usage": 4102 }