You cant just create an instance of an interface you have to create an instance of a class that implements that interface then you can cast that object to your interface type.
That is obvious Your solution is same as simply making type property type UClass. With such approach you get none of possible benefits like limitations for editor UI. So you will be able to set its value to some class which doesn’t implement interface at all.
Also TSubclassOf is type to store classes, not objects. So you can’t store UObject objects there, but you can store any type extending UObject so it’s same as simple UClass variable.
Anyway I am not trying to instantiate interface, I am trying to instantiate a type, passed from editor, limited to types implementing interface.