Following discussions with the client, I decided to not go down the route of a more complex Headless CMS solution and instead went with a more traditional monolithic WordPress approach. This allowed for a much faster development time, which in turn kept the project within budget as well as reduce hosting costs.
To ensure a well structured, organised codebase I have used Twig templating (via Timber) to separate the Front End view templates from the Back End. This allowed me to easily abstract the components/pages into named module folders containing the relevant HTML, CSS and JS for each. I find this dramatically increases productivity of development and allows for greater clarity of where everything is located in codebase.