It depends on how frequently you need to do this.
Unlocked Packages are great for maintaining multiple orgs with metadata in a Git repository for backup, along with the ability to revert most metadata changes to an earlier version with a simple command. It's the ideal use case for most customers.
The downside to Unlocked Packages is that it will force even admins to learn how to use either Terminal commands and/or VS Code, or risk their changes being overwritten. I actually see this as not much of a downside, as it makes it easier to replicate orgs with expert precision to test out changes before destroying a Sandbox or Production trying.
The one-time download to VS Code is a decent option if you just need it once. It tends to be really frustrating, as you won't know you're missing metadata until the deployment fails. Unlocked Packages fail a earlier, during the upload process, so you'll know you have problems before you're in the middle of a deployment. The upside, though, is that you're wasting less time on something you'll never use again (Unlocked Packages).
Other than that, paid solutions are really your only option. I know that budgets are tight these days, but there are many respectable products out there that are relatively inexpensive.
One such example is Gearset, which is what we use internally to migrate changes between orgs, and it's a decent product. You can easily compare two orgs and migrate any or all changes with just a few clicks, and it can even apply those changes to a Git repo for you to back up.
Note: this is not a product recommendation as such, just one I have some exposure to. Always do your own research and comparisons before making any purchases.
Finally, please note that there is no way to make a complete copy of a Production Org to another Production Org. Some settings can't be copied by Metadata Deployments. The list of things you can copy is maintained in the Metadata Coverage Report. You should review this list before making a choice on how to proceed, as even AppExchange apps can't do things that aren't on this list. No matter which approach you take, you'll need to check the report link above to see what you'll have to manually configure.
Salesforce used to have an internal "clone org" function many years ago, but it seems like they've abandoned that. You can make perfect copies of a Production Org into a Sandbox Org, but not another Production Org. Creating a new Production Org from another will likely be a time-consuming process.