It’s really up to you.
As a developer, I prefer working locally but if you do not develop but only add/remove/update themes and plugins, then a subdomain can be great.
This way, you can freely break your website without disturbing anyone.
Nowadays, lots of hosts providers are offering to create staging website in one click.
Regards