I borrowed a Beagle USB sniffer and watched an entire Zwift init sequence on a new Tacx T2900. No weight or wind resistance pages are ever sent.
I think what this means is that Zwift are assuming the trainer is set to a default weight, and using slope to change the resistance. So, if I put in 50kg as weight it might put my slope at 1%, but if I put in 100kg it will put the slope at 2%. I assume then the slope is reduced when drafting too.
The reason all this works is because all that Zwift uses is the actual power coming back from the trainer. It ignores speed etc. It uses the power reading to calculate speed. It makes sense because now they don’t have to support different modes for smart trainers, dumb trainers, and dumb trainers with power meters.