I want to redesign my front page but it would take several days. What’s the best (free) way to do this on wordpress… just create a page and once it’s ready make that the homepage? This is what I am doing now but not sure if it’s a bad way… I have heard that a plugin can copy the current front page and then when new changes are ready, you can just push it back to the front but this is only available with the paid version.
The approach you are currently taking is perfectly fine, i.e. creating a new page then setting it as the home page in Appearance > Customize > Homepage Settings.
No need to install a plugin for this.
You could just create a staging site, make the changes, then push the staging content to the live environment. Here’s how to do so: https://support.cloudways.com/create-staging-environment-site/