After boarding completes, external FPS can drop by ~20+ FPS
What you should see, is some slight fps increase "after boarding completes", because at that time, we no longer have walking passengers, which are handled by GSX code: the only thing that remained are Seated Passengers, which are instead part of the airplane.
Internal/cockpit FPS remains high (40–50)
Assuming you had the cockpit door closed, that's how is supposed to be. If you open the cockpit door, do you see the same decrease as in the External view ? The passengers are the same and, except two very notable exceptions (iFly 737 and Fslabs A321), they are ONLY attached to exterior, they are visible in the interior because most of the airplanes are made in a way the exterior is visible from the exterior.
The session does not recover unless the sim is restarted
As I've said, GSX won't reset the seats when restarting, which is the only control it has over Seated Passengers. Other than that, they are part of the airplane (that's why they require the installer to enable them) so yes, it's normal it won't change anything if you restart GSX.
So it feels less like a linear performance cost, and more like a change in how external objects are handled after SU4.
There surely has been changes, but they started in SU3, but it's not as we can do much about it: other than making them invisible by setting a variable based on the camera and the cockpit view, they are in the hands of the sim optimization. Walking passengers are controlled by GSX, Seated passengers aren't.