Staging subdomains and /etc/hosts are a nightmare.
Migration day: you tell clients to edit /etc/hosts. They lack admin rights, do it wrong, or forget to revert it. Alternatively, you create a staging subdomain, which leads to CORS errors, broken absolute links, and security risks.