Phaser.Scale.RESIZE and nontrivial zoom together

The workaround is to set the scale mode to NONE and then manually resize the canvas in a resize event:

{
    mode: Phaser.Scale.NONE,
    width: window.innerWidth/ZOOM_LEVEL,
    height: window.innerHeight/ZOOM_LEVEL,
    zoom: ZOOM_LEVEL
}

window.addEventListener("resize", () => {
        game.scale.resize(window.innerWidth/ZOOM_LEVEL, window.innerHeight/ZOOM_LEVEL);
    },false
);

See topic: Dynamically change canvas size