After alot of research and testing i’ve come to the conclusion that it is not possible through blueprint, only C++.
You can either go through the Vertex buffer:
FColorVertexBuffer* colVertBuffer = &meshCompTemp->GetStaticMesh()->RenderData->LODResources[lodData].VertexBuffers.ColorVertexBuffer;
TArray colorDataFromBufferTemp;
colVertBuffer->GetVertexColors(colorDataFromBufferTemp);
Or through PaintedVertices under the LodData:
meshCompTemp->LODData[lodData].PaintedVertices[i].Color
However, both of these are not viable in packaged builds since the data gets serialized, things like position of the vertices are available if you check the Allow CPU Access and use the vertex buffer but this is because the positions and normals of the vertices are always the same, the color are different from the default ones and with Allow CPU Access you can only access the default values in the static mesh, not the ones painted out on an instance of that mesh.