Use page.php for front page

if it is “a very complex theme,” then there’s probably some hook into template_redirect malfunctioning. as @TomJNowell mentioned, using home.php or front-page.php should allow you to override page.php, but that’s not always preferred (I rarely use them myself), and will not necessarily fix the problem. you don’t need to assign a blog page in order for there to be a static front page, so double-check on any hooks into template_redirect, and see if that resolves the issue.