As I understand it, in PC-to-MCU communications over USB CDC, specifying a baud rate is only necessary when the MCU sends its received data to a UART. The baud rate is needed by the bridging device to know the signalling rate to be used on the TX/RX lines.
For example, the ATMEGA16U2 used with the ATMEGA328 on Arduino Unos is responsible for receiving USB packets from the PC and translating them to UART signals for the ATMEGA328. So I can see why it is important that the ATMEGAU2 and ATMEGA328 agree on a baud rate.
I've read somewhere that the PC ignores any baud rate setting used with USB CDC. And yet, when a wrong baud rate is set in the PC serial terminal, gibberish is received, even though the data is received over USB without any traces of UART stench on it. The only case where I think baud rate should matter on a PC is when data is being transmitted by the PC to the bridge. I imagine baud rate information is sent along with the data so that the bridge can know at what speed to signal the receiving UART.
What is wrong with my assumptions? When and why is baud rate relevant at the PC's end in USB CDC communications?