For some people, its as simple as exporting from ROBLOX studio as a .obj than re-importing it back into studio. The mesh that’s imported is typically slightly cleaner. If that doesn’t work maybe port it to blender and clean it up. OR just model it in blender. Hopefully this answers your question.
Try switching between V2 and V3, in my experience V2 experiences a lot less of these rendering glitches. For most things, you shouldn’t need the super high tris limits of V3 anyway, but if you do need it you can always just union existing V2 unions together with V3.
For reducing artifacts and oddities in general, in my experience it’s best to start with as simple of a shape as possible (ideally, a perfect cube), and chip away pieces with negates. For instance, instead of building the shape the way you’ve made it with four parts and four cylinders being negated out in the center, have it be a regular part that has the already-existing negates but also has the corners negated using inverted cylinders rather than including cylinders in the part itself. Unfortunately, this solution does come at the price of being much more tedious than doing things the “conventional” way, but for troublesome unions or extreme levels of union optimization (without resorting to meshes), it can have its benefits. Do note that you don’t have to build like that all the time, just whenever things are giving you trouble; otherwise, you’d be there forever building things in the “safe” way!