Assuming you want them to run the same codebase, one way to do it is inside the index.php file for the subdomain, is to set an indicator (if needed) on who is running, and then include the main code base index file.
For this to work, the subdomain needs to have access to the main code base. Depending on the server setup, this might be restricted by the user running apache, or PHP settings. If, you would either need to give the users access to the different codebase, or soften the settings.
Another method, would be as you suggested to change the subdomain to point to the main codebase. This should be doable from the virtual host files if you run apache, just make sure you update the correct ones. Though if you are running WHM or any similar management software packages, those might override changes you do. (I have only done similar updates to subdomains on nginx in the past.)
Today I’ve investigated further and decided to isolate the simple subdomains and they are all working as expected.
The modern trend with most PHP Frameworks, WordPress, etc is to have a publicly available index.php which includes other files Above-the-root in an endeavour to have the included files unreachable by Joe Public.
I now have another three domains using CodeIgniter4 and they each require a public_html sub-directory.
Though if you run subdomains on WHM for example, where Apache like to place the subdomains like this /home/website/public_html/subdomain, the best approach is to go below the current public_html folder, making the root path for the subdomain files /home/website/subdomain/
I have never run Apache as standalone, so not sure if it does the same when run as that.
However from the example conf files you provided, I would verify that you cannot access the main subdomain folder from the main website.