composer – Drupal 9 live server directory setup (cPanel, etc.)

Where does one find a concise, up to date outline of how a Drupal 9 website should currently be deployed?

What should the file structure be, where can one find the info/diagrams showing a directory hierarchy properly (if there is such a thing) set up?

I know things are complicated but where can some basic info be found?

I’m setting up locally with apache pointing to the composer-generated (drupal/recommended-project?) “web” directory, but how does that relate/deploy to the directory setup on live/production server?

Where do the vendor and _sync folders go – outside the /public_html folder for example?

And if “public_html” is so common, why does recommended-project generate a “web”-labeled directory?