Making prism from face compound results in negative normals excluding one face

I'm building an app with Rust and opencascade bindings, and I'm having an issue if I make a compound with faces and "extrude" it (calls BRepPrimAPI_MakePrism with the compound shape) it results in negative normals on each face except one. I know the normals are negative as if I invert the normals in the Mesh rendering function I wrote(converts everything to f32 for graphics) it fixes those faces and breaks the one that was working.

Attached are images of the issue. I'm new to opencascade and C++ so forgive me if I'm missing something obvious.