I host my sites at GridPane. Or rather, to be more accurate, I host my sites at Digital Ocean but use GridPane as the server manager. GridPane has been nothing but excellent since I moved all my sites there in July 2019.
So getting to the question - how to create a staging site with SSL enabled.
Before you can create a staging site you must have a DNS record set up for it. You use the same IP address as for the main domain. Here's One I set up on my DNS manager, CloudFlare.
This is the easiest thing to do. You simple click a box to on, and the staging site is created. It is crated as a blank WordPress installation running a free default WordPress theme. it also automatically includes a plugin to prevent the site being indexed or viewed unless you are logged in.
At this point you can start a new development if you like. Or you can click another button to copy the live site to the staging. When you are finished in ether case, you can slick another button to copy the staging site to the live site. See screenshot.
Yes - it can be a pain on a staging site to not have SSL. But with GridPane this is also an easy thing to do. You go to the staging site configuration, by clicking on the URL in the above screen, then click another button to add SSL to the staging site.
Within a few moments your staging site is running with an SSL certificate, and you can start your development.