microcontroller serial communication noisy on direct wire connection
There are some serious issues in your circuit that cause it to act erratically.

First of all, HCT chips are not meant to be run at 3.3V. Just look at any HCT chip datasheet. They need a supply between 4.5V and 5.5V to run properly. Most likely you do not want to use HCT but maybe HC chips that can work at 3.3V, but it will also have problems.

Second problem is that the MCU uses open drain outputs with internal weak pull-ups to 5V. It basically means that the 5V TX signal from MCU will actually try to power the HCT chip via the input protection diodes. Fortunately the internal pull-ups are very weak so it may not cause the 3.3V to rise much, but do measure the 3.3V voltage and see if it is unexpectedly high. This will be an issue with HC type chips as well.

Third problem may be that the MCU outputs are open-drain. The rising edge only depends on the MCU internal pull-up resistance so the edge can be so slow that communication fails due to data pin spending more time low than high. So a pull-up resistor (in this case something like 4k7 ohms to 3.3V) might be needed at MCU TX pin. To see if this is an issue you really need an oscilloscope.

Then you need to have the device grounds at same potential, so you must have RX, TX and Ground between the devices, simply the TX and RX are not enough.