In first place, when you set up payload on PMDG B737 using ZFW only as input, for some reason it loads a completely unrealistic amount of cargo. So I very much prefer to set up pax number and cargo figures all by myself using much more realistic inputs.
When GSX sets the payload using the "by ZFW" method, which only happens if you are using a non-standard airplane profile in Simbrief (one with custom passengers weights), GSX is NOT touching the passengers number and the cargo figures, it ONLY sets the ZFW according to Simbrief, which of course is the most important parameter.
That is functionally identical to you manually setting the ZFW from Simbrief: when you do that, the airplane *itself* will automatically set passenger number and fwd/aft cargo figures, not GSX, so you would have got exactly the same result if you didn't used GSX and just set the ZFW manually from Simbrief, unless you had some reason to manually set ZFW different than what you planned on Simbrief.