I suspect that it's from the inside. Before you spend any money on anything dig into the rust. I would use an ice pick, awl, or similar tool and press firmly. If it's solid, the metal will not give. Keep in mind that if the rust is on the backside of the panel, you will punch a hole in the car.
The point is that if you punch a hole in it, you were already screwed. You just didn't know it.
If so, you have two options. The correct way is metal fabrication. If it's a small pinhole, be prepared to amputate as much as 30 cm from the pinhole. Pinholes are bad news because it's usually more than a pinhole.
The other way is to simply fill the hole and touch up or spot paint. This is a butcher job. If that's what you have do do, do it. What the hell else are you going to do--pay someone $2k to fabricte a patch?
If you need to butcher it, don't bother with all the weasel piss because you are pissing in the wind; simply, fill the hole, spot color it, and your done until it shows up again. If it shows up again, repeat the process.
If you are hesitant at poking a hole in your car, can you post a decent close up picture of the area. I'm not an appraiser, but I can read metal lamf, something an appraiser cannot do. I could probabaly tell whether it's surface or internal rust by just seeing a decent picture.