Creating Complex UDT Definitions with DataTypes with Java SDK

Hi, I am looking to automatically create UDT Definitions via the Java SDK in Ignition 8.3 in a ManagedTagProvider. (io.ia.sdk.modl version 0.4.0 using a GatewayHook)

I instantiate my ManagedTagProvider with the TagProviderMeta.FLAG_PROVIDES_COMPLEX_TYPES flag set to true, and instantiate my UDT

Definition with the following:

        provider = manager.getOrCreateManagedProvider(getProviderConfig());

        BasicTagConfiguration model = new BasicTagConfiguration();
        model.setName("MyUDT"); //setName always seems superfluous as configureTag sets name based on path
        model.setType(TagObjectType.UdtType);

        BasicTagConfiguration subFolder = new BasicTagConfiguration();
        subFolder.setName("SubFolder");
        subFolder.setType(TagObjectType.Folder);

        BasicTagConfiguration subTag1 = new BasicTagConfiguration();
        subTag1.setName("SubTag1");
        subTag1.setType(TagObjectType.AtomicTag);
        subTag1.set(WellKnownTagProps.DataType, DataType.Float4);
        subTag1.set(WellKnownTagProps.TagGroup, "Default");

        BasicTagConfiguration subTag2 = new BasicTagConfiguration();
        subTag2.setName("SubTag2");
        subTag2.setType(TagObjectType.AtomicTag);
        subTag2.set(WellKnownTagProps.DataType, DataType.Float8);
        subTag2.set(WellKnownTagProps.TagGroup, "Default");

        model.addChild(subFolder);
        subFolder.addChild(subTag1); //add child seems superfluous, based on path

        provider.configureTag("MyUDT", model);
        provider.configureTag("_types_/MyUDT/SubFolder", subFolder);
        provider.configureTag("_types_/MyUDT/SubFolder/SubTag1", subTag1);
        provider.configureTag("_types_/MyUDT/SubFolder/SubTag2", subTag2);

It does successfully create the hierarchy as seen below:


However the DataType field is missing from the tag properties


But it is populated into a custom prg property.

I have also tried various other methods of instantiating tags, notably:
TagConfigurationBuilder, TagConfigurationModel, UdtConfigDefinition
which all produced similar results.

Any help or guidance on the correct process would be greatly appreciated. Thank you!

To clarify, I have also set hasDataTypes to truein my ManagedTagProviderConfigurationand the issue persists.