CiviCRM in a Multi-Tenant Setup
It's certainly possible to use CiviCRM as you describe, and I administer a couple of instances that do exactly this.  I know it's possible with WordPress and with Drupal; not sure about Joomla or Backdrop.

However, in each case where I administer such a setup, either a) there's a need to share data, or b) the architecture decision wasn't my own.  In the case where I designed a CiviCRM multi-client architecture (about 25 instances) I opted to have 25 separate instances sharing a git repository (these days I would consider a Docker image instead).  If data sharing isn't necessary, and it's just a way to keep the code in sync, I don't think a multi-site approach is warranted.