Pick any them you like and customize it further to get what you desire. A good choice would be a theme that already offers a slider element, but sliders can be added via plugins as well, so it’s not an absolute requirement for a theme. Since you will likely be modifying templates, it’s best to create a child theme to contain your custom work.
What to do next depends on whether you chose a block theme or classic theme. The process is similar either way, but details vary. I’ll describe a classic theme approach since it’s what I know best. Copy your theme’s page.php or index.php template to your child theme. Rename it front-page.php. If it does not already have code for a slider, add appropriate code. The specifics depend on which slider you choose. Ask the slider’s developer for specific advice.
Add HTML to the template (below the slider code) for the 4 blocks. Exactly what this is depends on where the images are coming from and how you want to maintain the page in the future. Using your browser’s element inspector tool to help you, develop appropriate CSS code to achieve the 2×2 or whatever layout you want. Layout can vary by device screen width through the use of CSS media queries. When you determine the right CSS, place it in your child theme’s style.css file.
A 2×2 layout can be achieved with old skool CSS, but you might be better off using flex box or grid CSS models for such a layout.