When booting the ConfigResolver, it receives the current SiteAccess in order to resolve dynamic settings. setSiteAccess() method is called, which also define the defaultScope, which is by default the SiteAccess name.
This default scope can change for example when performing a preview (config scope change).
However, when compiling, cache warmup may mess this up, especially when Twig extensions are involved, as cache warmup process occurs before SiteAccess matching. Thus Twig extensions which rely on dynamic settings and/or ConfigResolver can be biased, since the wrong default scope is used.
Using ezplatform-design-engine, an exception saying that it can't find a template using @standard namespace can occur. This is a consequence of what was explained above.
I know this is a brain-f..k thing, and another SiteAcces hell...