You'd be right IF the I2C protocal actually had an active high.
I2C protocal dictates that device pins operate in open-drain mode. This means the pins can go either LO or Hi-Z(Hi-Impedance, the Z being the variable commonly used for impedance in equations). They can only drive the line LO or release the line- they can't actually drive it HI.
Whenever a device wants the line to go HI, it instead releases the line by going Hi-Z and it is the pull-up resistor on the line that then takes over that pulls the line high. So if the pull-up resistor is pulling up to 1.8V, it doesn't matter how high the MCU voltage is since it never actually drives the line with that voltage. It only ever drives it to ground or releases it to Hi-Z.
You might be wondering why it does this but it makes using multi-master protocols easier. Since if you are sending a LO and detect that the line is HI, it means some other device is trying to sending something and is producing collisions. It's trickier do to if two colliding devices are both trying to actively drive the line LO or HI at the same time. CAN buses use a similar concept too in the form of dominant and recessive bits where the dominant logic state will override the passive state if both appear on the line at the same time. In I2C, it also lets the slave control the clock somewhat by holding the line LO when the master wants the clock line to go HI, thereby allowing the slave to delay responses until it is done it's work.
THe main issue to check in this case is whether 1.8V is high enough to be interpreted as a logic HI by the MCU when it is running at 3V (which it probably should be but always best to check). If the MCU is capable of running off 1.8V then it is probably true but you could still check the logic thresholds to be sure.