So, I narrowed down at least one suspect now. On my iPad (2018 model) I get an fps of about 3 frames per second. However, if I remove a mask that I am using then the framerate jumps up to 50. Below is a representation of what I do. Why is masking destroying performance on iOS? Am I doing something stupid here?
let viewPort = new Phaser.Geom.Rectangle(x, y, width, height);
let shape = scene.add.graphics();
shape.lineStyle(0, 0xff0000, 0);
shape.fillStyle(0xffffff, 0);
shape.strokeRect(viewPort.x, viewPort.y, viewPort.width, viewPort.height);
shape.fillRect(viewPort.x, viewPort.y, viewPort.width, viewPort.height);
let mask = new Phaser.Display.Masks.GeometryMask(scene, shape);
this.container.setMask(mask); // Commenting this out solves the issue on iOS