Properly isolating I2C for powered off MCU
What is the proper way to isolate the I2C lines of two devices where one is powered on and the other can be powered down? I'm not 100% sure if isolation is even necessary, but I suspect it is.

It usually isn't. You'd keep the MCU powered, but put it into &quot;STOP&quot; mode or similar, at which point it consumes no power (but for some nA or less for static leakage, just as your MOSFET would have some leakage).
But: you're using an Arduino, and neither is that even remotely a power-efficient platform, nor does the Arduino UNO specifically support much different power modi.
The main problem is that the arduino can't be &quot;powered off&quot; in the strict sense of the word: there's regulators wasting power as long as it's connected to supply voltage.
The solution on how to build a energy-saving circuit hence is, sadly, dropping your central component, the arduino, and replacing it with something that isn't as bad as an Arduino UNO for this.
While doing that: you could drop the separate RTC and just buy a microcontroller with a built-in RTC. It's really just the same: you connect a coin cell to the VBAT pin of the MCU and that's what you need to power the RTC when there's no main VCC.  Modern MCUs use really little current in STOP modes, and quite possible negligibly little even in SLEEP modes¹, so the problems you're trying to solve here simply don't exist. Waking up the MCU from standby mode is something that the RTC can do without any special connections, and thus saves you space, components, probably power and almost certainly cost.

For example, my STM32F030xx here uses about 3 µA in sleep mode, which is about 1/50 of your RTC's standby current usage. You're really barking up the wrong power saving tree as long as you're using an Arduino.