Is it ok to mix 3.3V with 5V?

See this picture showing ESP8266 that is by default 3.3V designed yet connected directly to UNO’s 5V logic Digital Input/Outputs …

I wonder if it’s ok to mix 5V digital IO’s while the power supply comes from the 3.3V pin?

Some chips are specifically designed to be tolerant of higher logic levels. With the ESP8266 it's a matter of disagreement:

I think it's been made clear by the many projects using 5V logic with ESP8266 that indeed you can do without but I think the question "should you do it" still remains unanswered.

Here's the statement from an Espressif employee on their official forum(Are digital inputs 5v tolerant ? - ESP8266 Developer Zone):

We donot recommend you to apply 5V to IO.

Here's a comment on a Facebook ESP8266 group from someone with the same name as the CEO of Espressif, though this would be easy enough to fake(Redirecting...):

i can reply officially here: it is 5V tolerant at the IO. while the supply voltage is at 3.3V.

If he can officially reply in a random comment in a random group that only a few hundred will ever stumble across, why can't he officially reply in the ESP8266 documentation?

My instinct is to trust the statement on the official forum. One thing's for sure, using a level shifter will cause no harm. On the other hand, getting an ESP8266 working can be very difficult for some people so in that case simplifying the circuit and reducing complexity may be well worth the risk of reducing the life expectancy of a $2USD part.

In general you should rely on what the datasheet tells you. In the case of ESP8266, there is some disagreement over the interpretation of the datasheet. On AVR microcontrollers such as the ATmega328P used on the Uno it's made clear. The "Absolute Maximum Ratings" chart says:

Voltage on any Pin except RESET
with respect to Ground . . . . . . . . . .-0.5V to VCC+0.5V

So that means if you're running the ATmega328P at 3.3V(such as the 3.3V Pro Mini) then connecting 5V to an input pin is definitely not a good idea.
It also says

Exposure to absolute maximum rating
conditions for extended periods may affect
device reliability.

so just because you're barely within the absolute maximum ratings still doesn't mean you're being kind to your Arduino.

@pert - thank you for your very detailed and informative reply!

Perhaps a related question - this time in regard to tiny OLED displays from China...

These 128x64 0.98" displays seem to use the same SSD1306 driver with some additional RC circuitry. I've not seen the "exact" specification but certain sellers claim operating range from 3 to 5V. However, most of the time I see people powering their OLED from UNO's 3.3V while connecting OLED's I2C (SDA and SCK) to UNO's Analog lines A5 and A6.

So again - could it be correct to assume the potential problem with this kind of level mismatch?

Totally agree with you, Pert. I also used esp8266 in many hobby projects. Actually, I'm not an expert in electronics and programming as well. But working esp8266 is very interesting and frustrating too. If not running well, there are many possible bugs. It's better to prevent any possible faults and should use a voltage level shifting obviously.