If your son is more interested in the programming side, you’ll probably want to use either an arduino or a pi like you said, but you will probably have to sink some money into a quadcopter if you want to carry a gopro (around $100 just for capable motors). Racing also is much easier to do with dedicated Electronic Speed Controllers (ESCs) and flight controllers. Seeing as the phantom is expensive and closed source, building is really the only option. When you say use the pi as the server, are you talking about the ground transmitter or the on-board flight controller? If you have a pi on-board rather than an arduino, the size goes up, and the pi consumes more power from my limited knowledge, so a large 450 type quad might be the best option, but that brings the price up as you require stronger motors for the extra size, and larger batteries for the pi. You will, however, be happy to hear that there isn’t as much soldering as you expect. Your son should be confident though, because the heat from the iron can destroy some of the more fragile electronics. Check the package for a maximum temperature.
Overall, youll need around $400 to lift a gopro and pi (just the drone, not including First Person View (FPV) receiver and transmitter to control the drone with. Maybe the best option is to buy a ready-made kit and tinker with the open-source flight controllers before sinking cash into flying a pi.
Regardless, good luck with the project