The problem with the inversed normals was caused by an inverse scale in Blender. When downscaling below the 0
treshold the object starts to grow again (with negative scale), which wasn't immediately visible due to the fact that an inverse-scaled cylinder looks the same as a normal scaled cylinder.
Due to how blender scaling works, some mouse movements tend to suddenly jump from a positive scale to a negative scale when scaling which caused some of my cylinders to be negatively scaled. A negatively scaled cylinder has inversed normals when exporting the object to .obj
. I would call this a bug in blender, since this wasn't visible from the normals Blender itself was showing (they looked correct).