The simplest method has already been mentioned.
Just lock the footprints on the PCB.
On the lowest level I do not understand this “obsession” of wanting to remove these symbols from the schematic. It brings back some memories from very long ago. I once had the idea of not wanting to put connectors in the schematic. Maybe it was partially because I thought they “wasted space” or “they didn’t really do anything” electrically.
These day’s I try to keep it simple. Schematics are not made to look good. Schematics are to present information about an electronic circuit and PCB. Mounting holes are a part of that, and thus should be on the schematic.
A repeating request is an ability to be able to add some things to the BOM that are not on the schematic or PCB. For example some screws, rivets or distance bushings or a potentiometer that’s connected to a cable to a connector on the PCB. Maybe there is an issue on gitlab related to this.
In KiCad, the schematic symbol is the “root” of a “part”. and all other attributes, such as value and footprint link are attached to it. I think this may have to change at some point, for example for the “database driven libraries” that some people find very important. For things like that a more abstract container of a “part” and in which the schematic graphics is just another (swappable) attribute seems more appropriate. There are some initiatives to at least think a bit about this for KiCad V7.
I just did a little test by setting both the Refdes (a.k.a. “Reference”) and the Value of a resistor to invisible. This leaves just the pins and the graphic square visible on screen.
One thing you can do as a workaround is to make very small schematic symbols for your mounting holes and then “hide” them somewhere on the schematic, for example in the title block graphics. It’s also an ugly workaround. I have not tried what happens if a schematic symbol has no graphics at all. This may make it difficult to handle it in the GUI (select, move, delete, etc) It will still show up in Eeschema / Tools / Edit Symbol Fields and probably the BOM too.