For Drupal 10 there's a recommended project structure (httpdocs/web, httpdocs/vendor) and a legacy structure (httpdocs, httpdocs/vendor). These are suitable for sites on shared hosts that provide SSH access only to a single server directory.
Provided you have full root access to the server, another option is to move the recommended structure one level up, while Apache still uses httpdocs as DocumentRoot. This separates Composer files from the website even more clearly.
domain/httpdocs/... (Drupal site)
I used this with non-Drupal PHP projects, so Composer is basically fine with it. Now I wonder how to configure Drupal 10 in order to work with this structure, too. Moving the files obviously isn't enough, so what else is needed to make this work?