The Zener diode will not provide the protection you think, for many reasons.
The real reason it doesn't work is the 330Ω resistor. This will form a voltage divider (330/(1800 + 300) or 1/7 and mean the absolute minimum the I2C circuit could pull the Pi is 3.3/7 or ~ 0.5v plus the drop across the driver.
The I2C interface uses a number of open collector/drain devices with pull-up to the supply (the Pi has on-board 1.8k pull-up), so there should be no need for "protection" as there should be no active pull-up involved. If you want to be sure check that the external circuits have no pull-up to 5V (or indeed any other supply). If you want to be extra secure use a Schottky diode to clamp the I2C pins to 3.3v