That looks correct.
I think you’re over complicating this function, try this simple approch
TArray<FTransform> Available;
ItemGroupRef->GetAllTransforms(Available);
FCustomThunkTemplates::Array_Shuffle(Available);
for(int32 i = 0; i < ItemsIDArr.Num(); i++)
{
const FTransform& SpawnLocation = Available[i];
//ItemsIDArr[i].Type
//ItemsIDArr[i].ID
//Spawn here
}