Ok..
i made some test, and i have to admit that i was wrong talking about "latency": the waveforms taken through scope show that Arduino is answering fast in both cases (as with usb-dongle, as with is "native" usb ), but with native usb the PC is waiting more time (about 3-4ms) before sending the next byte, while with usb-dongle is able to do it after about 200us.
Thanks to PaulS to put my attention on the measures i did (wrong
).
Here two screenshots.
The first with usb dongle:

ans this one is the native-usb:

You can see clearly the PC (blu one on the top) sending the data, and the Arduino responding in 50us (yellow waveform on the bottom); but in the second case, the PC is "waiting" 4ms.
So, the problem is different from what i supposed, but still here: why with the same code the PC is waiting so long before to send another byte?
Of course the drivers used for the two devices are different, but they have the same settings both in Windows (as far as i can see in Windows Devices, in port details) and in my VB code.
Any ideas?