Because contextmenu is not used 100% of the time when you use the homescreen I think you want to keep the display: none rule. Using will-change for everything will provide you good performances, but this is at the cost of memory.

So for the core of the application I think this is fine to rely on will-change, but for things that happens a few times in the application lifetime this is better to not use will-change.

So I suggest that you use the same type of trick than what you did for bug 985132, where the dialog has a display: none (not consuming a layer) and then you change the display with a visible class, before doing the transition.