I’d say the approach depends on what “a complete overhaul” entails. If it’s primarily about updating branding and layouts, you can handle everything on a staging server, then push the changes to production without any disruption to service.
However, if you’re making database-level changes, such as adding new categories or groups, those will need to be implemented directly on the production instance. Alternatively, you can stage them first, then replicate the changes on production to minimize risk and downtime.