Hierarchical Instanced Static Mesh Component not showing

I am having issues with hierarchical instanced static meshes (HISM).
In the same function, I create a HISM component, attach it to the parent and add instances all in the same function and for some reason, the instances are invisible. They are there, since the collision is there, but they will not appear until I add or remove an instance after that (on a new tick). I don’t know why this happens… Anybody knows? I am on UE5.3.2

The issue only exists with HISM components, not with normal ISM components…

The code to create the component and add the instance is the following

UHISM* UInstancer::AddInstance(const FInstanceData& Data, AInstancedActor* Actor)
{
    TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(__FUNCTION__);
    TArray<UHISM*>& TargetArray = Meshes[Data.Variation];

    for (const auto h : TargetArray) {
        if (h->GetInstanceCount() < Manager->MaxInstancesPerInstancer) {
            h->AddInstance(Data.Transform, true);
            return h;
        }
    }

    auto h = AddMesh(Data.Variation);
    h->AddInstance(Data.Transform, true);
    return h;
}

UHISM* UInstancer::AddMesh(int32 Variation)
{
    TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(__FUNCTION__);
    auto d = Class.GetDefaultObject();

    UHISM* h = Cast<UHISM>(Manager->AddComponentByClass(UHISM::StaticClass() , true, FTransform(), true));
    h->Parent = this;
    h->Variation = Variation;
    h->SetStaticMesh(d->Variations[Variation].Mesh);
    h->SetCollisionProfileName(d->CollisionProfile);
    Manager->FinishAddComponent(h, true, FTransform());
    h->AttachToComponent(Manager->GetRootComponent(), FAttachmentTransformRules(EAttachmentRule::KeepRelative, false));

    int32 ID = 0;
    for (const auto i : d->Variations[Variation].MaterialOverrides) {
        h->SetMaterial(ID, i);
        ID++;
    }
    if(d->InstanceType == Full) {
        h->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
    }
    else h->SetCollisionEnabled(ECollisionEnabled::NoCollision);

    h->SetCullDistances(d->CullDistance, d->CullDistance);
    Meshes[Variation].Add(h);

    return h;
}

UHISM is just a child class of UHierarchicalInstancedStaticMeshComponent. I did not edit any functionality to it, only added.

After some experimentation, I realized that the StaticMesh used with it has the EObjectFlags::RF_NeedLoad flag, meaning that it is not loaded yet.

The issue only happens with Hierarchical ISMs, not the normal ones. I tested it by reparenting the UHISM class to UInstancedStaticMeshComponent and the issue does not persist, but for performance reasons, I obviously would prefer to have it hierarchical.

I also tried rebuilding the component with BuildTreeIfOutdated when the mesh gets loaded (By checking every tick if the mesh loaded and once it is, call the function once) but still nothing.

Is there anything I can do to fix this issue?