According to them, the official way is to enter both in the INIT B page, which I did.
It works very good for me if I enter the passengers number. It shouldn't make any difference whether you enter the ZFW or the passenger number.
By entering ZFW, the plane will estimate from the weight ( I think it uses the same formula as GSX, weight / 220 lbs ) the number of passenger and it will communicate it to GSX, and by entering the passenger number directly, it will just communicate the number to GSX and estimate the ZFW from that (reverse formula, I guess, pax * 220 lbs )
The whole point of the GSX-integration is to load the plane gradually. If I am typing something in the payload page it is full instantly
Ok, now I understand your confusion. Yes, if you start from the Payload page, the airplane IS loaded as soon as you enter something there, because that's what the Payload page does: setting the payload. The page doesn't know you intend to use GSX and it must still work, because maybe you are not even going to call GSX so, it must work as it always did. BUT, the airplane is monitoring GSX so, as soon as you start Boarding, you'll see the Payload will go down immediately, to go up again, progressively and synched with the GSX boarding process.
I believe the idea was to have the airplane still working as it uses to be, because you might not always want to use GSX. To make it easier and more tighten up, there should ideally be some kind of setting which will allow the plane to be entirely "slaved" to GSX, meaning it will never touch its own payload until GSX is telling it do to so. I'll talk with FS Labs about this.