I have been struggling recently with a custom ground symbol in my scematic. Everything looks Ok in eeSchema, but when designing the board layout It showed no connection between these ground symbols. Pretty annoying, because my board would not work that way.
I checked the ground symbol, and it was defined as ‘power port’ and it has a pin named “GND” so all looks OK?
I took some time to discover that the symbol only connects automatically if you set the pin ‘Invisible’ (in the library editor under “Pin properties”). My pin was ‘visible’ and thus no automatic connection. Setting the pin as “invisible” and “Power input” solved this problem.
The pin name remains visible in the schematics by the way, unless you switch the pin visibility off in “device properties” or on your schematic.
The single pin in your GND symbol must be of electrical type “power input” and it must be invisible. This is how you tell kicad that a pin should be interpreted as a global label. (The pin name will define the label text.)
The “define as power symbol” flag is used to decide what is included in the “add power symbol” dialog of eeschema.
The refdes starting with “#” ensures that kicad does not expect this symbol to be connected with a footprint. (Does not show up in cvpcb. Not sure what happens if you somehow set a footprint anyways.) It also ensures that it is not included in the BOM.