However in the 3D viewer they don’t show up as actual holes. You can see that there is something drilled into the PCB but it doesn’t go all the way though.
It looks like a bug but I just wanted to confirm I’m not doing something wrong. They holes appear in the drill file output so I’m sure the manufacturer will drill them right through.
The 3D view of KiCad isn’t authoritative at all. It’s just an independent interpretation of the board data for a semi-realistic view on the final board. It has its limits and bugs. From those screenshots alone it’s difficult to know if this is a bug or if there’s something else.
One possibility comes to mind. You have no mask layer in the pad active. It means that theoretically the hole is covered by the mask substance. In real world either the manufacturer will make a hole in the mask or the physical mask substance goes to the hole (which is unwanted for holes this large). Try ticking the mask on.
You can also try some mechanical holes from the official KiCad library to see how they behave and how they are made.