STM32 USB CDC: packet loss with active PC usage
USB has no way for a (non-isochronous) device endpoint to send data proactively – your host needs to poll the device for new data.

It looks like your PC isn't keeping up with that task, and your ARM-side buffering can't compensate for that.

This probably means you should be adding more buffering on your ARM, and also might mean that either your PC is pretty slow, or that the Windows CDC driver sucks. Which wouldn't be a thing unheard – especially demo / dev kit drivers tend to be "intern-grade" software, in my sorry experience.

Also, I don't know what your terminal application is – never overestimate the quality of host-side software.