After I've joined 3 meshes into a single mesh with ctrl+j, part of it becomes transparent after I import it to Unity (see left side of the image). What could cause this and how can I fix it?

After I've joined 3 meshes into a single mesh with ctrl+j, part of it becomes transparent after I import it to Unity (see left side of the image). What could cause this and how can I fix it?

It looks like the normals of the bottom part are inverted, resulting in a transparent look due to back-face culling.
Try recalculating the normals with ⎈ CtrlN in edit mode (↹ Tab) with everything selected (A). Note that it's possible to create topology which cannot have consistent normals, which could be why this didn't work for you before.