Just a quick warning about the “No-connect” attribute on pins. KiCad ignores all the attributes when generating a netlist, so even if you have a pin set to no-connect, it can still get connected to a net.
I accidentally had a net connected to a no-connect pin, it had me baffled for quite a while!
I had assumed No-connect would mean it never gets connected, but basically it’s just information for the user.
To catch this type of error, never use Hidden pins and ALWAYS run ERC, even after the smallest of changes. Both you and ERC check have to be on your toes to avoid getting an invalid netlist.