I have the exact same problem. Maybe a bit of clarification, @Gerrie_Delport_ODZ.
I have the Garmin vivoactive 3 watch and I’m using the alpcour fluid bike trainer with Garmin cadence and speed sensor. The trainer is unfortunately dumb and not supported, so a bit of variance in speed/watt is expected.
The problem is that zwift displays the speed value in mph even if I switch the in-game speed to km/h. When switched to km/h, it shows the same value but I’m considerably slower (given that 10km/h is slower than 10mph) on screen.
Maybe another example explains it better. When I’m biking casually on my trainer, my watch accurately depicts the speed picked up from the sensor as 20km/h. When I connect the sensor to zwift it shows up as mph in the pairing window no matter what / not possible to change. If I use imperial in-game speed, it correctly shows 12mph (so the accurate conversion to 20km/h) but if I switch the in-game speed to metric, it shows up as 12km/h, which is of course much slower.
Given that my watch picks up km/h with an accurate speed, the problem lies with zwift, not the sensor.
Any advice would be much appreciated!