Seems to affect all canvases. Suppose your main units that you work with are inches and you have it selected in the preferences and you have one footprint which dimensions are specified in mm. Your normal work flow would be go to Preferences in PcbNew -> change to mm -> Launch Edit Footprint and then do actual editing. When you do that, the units jump back to whatever you had selected previously and you have to go back to PCBNew and change them again. For example - if you have inches selected, you change it to mm in preferences. You can see your units change to mm at the bottom of the screen. Now when you launch footprint editor the units change back to inches (both in PcbNew and footprint editor) and you have to change them second time around.
Just to mention something, it would be ideal if the units in footprint editor would be independent from the units of the PcbNew for the reason mentioned above.
m_UserGridUnit is global. Opening modedit reads it from modedit's preferences file. If that's mm, then it will be updated for everything.
When modedit closes, pcbnew is already running, so it doesn't read its preferences again to update the global.