You can configure everything (even mcp) using dns names only.. meaning you could copy the whole environment and just use dns to make sure everything works properly in a second environment. There is also a product InProd that can let you migrate objects (and make changes) between environments
Even with DNS names, rarely a test environment will share the same names with a production environment. Mainly to serve it’s purpose, differentiate prd from test and homologation environment.
Cloning your UAT to make production is a common thing to do on a green field site. You can change the host names in the database before starting up config server if you are using a flat network.
But going forward you will need to manage how you get changes from UAT into prod. This is what InProd was designed to do as labs are a pain to manage correctly. InProd is now a DevOps tool for Genesys Engage www.inprod.io