First issue is that there is no pull-up resistor on MCU TX pin.
Therefore when the board powers up or the MCU resets, the MCU TXD pin is floating and can be in any state and the RS-232 transceiver will transmit that garbage as it does not know it is invalid transmission.
Second issue is that also the unused DIN2 input pin of MAX3232 has no pull-up resistor and it floats at random voltage. I recall reading here questions why MAX3232 (or clones of it) designs got fried without explanation and on those designs the pull-ups were missing. The difference is, MAX3232 requires external pull-ups and MAX232 does not because it has internal pull-ups.
Since you are powering the MAX3232 chip with 5V, you might be able to change it directly into a MAX232 so you don't need to add pull-up resistors. But the downside is, the MCU pins would be pulled up to 5V. They should be 5V tolerant pins, but it is also true that a 3.3V output pin should not be pulled up to 5V.
Perhaps try putting two 10k to 100k pull-ups, one to 3.3V for the TXD and one to 5V for the unused DIN pin.
Another reason why the MAX3232 may send out garbage is that the power supplies may start with 5V first and 3.3V for the MCU later, so that also makes the MAX3232 see that it should transmit out garbage when TXD is still 0V from unpowered MCU.
It is also weird that you used a 3.3V capable MAX3232 chip but decided to power it separately with 5V, it might be simpler to keep using MAX3232 but add the pull-ups and change to power it from same 3.3V as the MCU.
If you do change to MAX232 or change the MAX3232 supply voltage to 3.3V, you also need to change the charge pump capacitor values to match the chip and/or supply voltage.
Generally, many designs may send out garbage or at least make the PC see garbage when they power up, so that's not a huge issue.
The huge issue is that there are no mandatory pull-ups on MAX3232 DIN pins.