Is the disconnect in the way the trainer interpolates or the way Zwift was sending the request to the trainer.
I would think there should be a “simple” (never is though I admit) fix which is to allow a user to train Zwift to ascertain the average difference in power as between the power meter being used and the trainer at a specific cadence and resistance point. For instance, perhaps require a rider in a small test to maintain a cadence of say between 90 to 95, and then take the different feedback from the trainer as to power versus the pedals as to power, and ascertain that different over a period of say 2 minutes for any set resistance level.
Then over a period of say 20-30 minutes, as the resistance is varied for the trainer, you should be able to develop a profile that can be specific to that power meter/trainer situation and use the differential information to try to more truly allow a translation of power readings from the power meter into the requested level of resistance or power being required from the trainer.
I admit as I have been doing workouts in ERG mode, the differential between my powertap P1 pedals and the trainer is often about 10W different, but not always. Seems to get closer at higher resistances, while being furthest apart at the lower power requirements and lower resistance levels. That with keeping my cadence in my case between 95 to 100.
Anyway, something to potentially test out and see with some variation of trainers/power meters, how the profile starts to look. but I suspect similar to having to calibrate for power meters and for trainers, you would need a method to allow the user to calibrate once for their setup (and then again if they change their setup).
Heck if this worked I would happily be thrilled to do a 30 or even 1 hour ride to get the differnential ride across a variety of situations so I could then ensure I could use my power meter as the power source so there is consistency in indoor and outdoor rides and readings.