Ta, that is indeed the correct way to do it.
Turns out it was one of those weird “yes you’re doing right now but you gotta do a full rebuild from VS instead of just a hot reload before it’ll start working” things.
Also, the ToFColor thing either doesn’t work properly, or it is working but what it’s supposed to do is too clever for my little brain to understand.
I ended up ditching it for this:
FLinearColor LinearColor = Splines[SplineIndex]->PrimaryColorIO->GetLinearColorValue(UnitDepth);
// StarColor = LinearColor.ToFColor(true);
StarColor.R = int(LinearColor.R * 255.0f);
StarColor.G = int(LinearColor.G * 255.0f);
StarColor.B = int(LinearColor.B * 255.0f);