Timing of MenuItem callback (also kEventResume?) and display flushing

I'm displaying an ingame map during the pause screen via playdate->system->setMenuImage, drawn inside the kEventPause callback. I added a custom menu item to expand the map into a full view when the user selects that item.

The "default" behaviour is that the normal gameplay screen flashes for a split second before the full map is shown which is a bit unpleasant. Shown in this gif:


A workaround is to also copy the pixel data of the "paused bitmap" into the framebuffer during the kEventPause callback right before entering the pause to update the last drawn frame. While this avoids the split second flashing it unfortunately also removes the smooth fading transition going in and out of the system menu. Shown in this gif:


I tried manually flushing the display inside kEventResume and also inside the menu item callback but kEventResume and the menu callback are only called after the system menu fading is done.

My proposal:
Adjusting the timing of the menu item callback so it's called at the moment of initiating the menu close before fading out instead of at the end of fading (maybe also adjusting kEventResume). That way the user could optionally update the display frame buffer before the close fading begins.

In my case I could push the full map view to the framebuffer if the "map" option is selected during the menu item callback. The menu could transition smoothly back to gameplay on resume, or I can update the framebuffer before the transition when going into the map and thus avoid the split second flashing.

What I want it to look like (edited the gif by using the first half of gif 1 and the second half of gif2 (going from menu to full screen map)):