What I have noticed so far.
IP ratio should really be 1 setting. ie: Setting say 1.5 should mean that I frames are 1.5 times larger then P frames.
As for my tests below, I'm still not sure if I should be posting them as they are very confusing.

All these tests done at CBR 0.5x

Adjusting P setting down, reduces bitrate substantially for the same CBR setting. Increasing the IP ratio.
Note: In previous tests, reducing the bitrate in Qscale mode also increased IP ratio. So it appears that there in no actual adjustment of IP ratio happening here. Just bitrate changes.

Adjusting P setting up, slightly increases bitrate. Same IP ratio.

Adjusting I setting either up or down, increases bitrate slightly with very minor changes to IP ratio.
Adjusting P setting to 0.1x and I setting to 3.0x increases bitrate substantially while reducing IP ratio.

Unfortunately, this is all scene dependent. Here is another test at various settings until buffer full recording stop.
Qscale 16

P 3.0x - I 0.1x

P 0.1x - I 3.0x

Here, the only changes worth mentioning are that the last test was able to record for longer before buffer full.
Conclusion. Canon has some funky code going on to adjust IP ratio. This seems to be based on scene complexity. Probably to try and help it maintain a constant bitrate.
This patch does not appear to be changing IP ratio. It appears to me as if it's affecting the bitrate distribution. For instance, adjusting P ratio down, isn't actually adjusting the ratio of P frames in anyway, simply saying, for this CBR setting, encode at a lower bitrate. And it's Canons internal code that is making the changes to IP raito.