Strange. This is 100% built-in to the Shopify App. You notice in the configuration the “authenticate on scope change” setting and set that to true. When an App install is approved, the scopes are saved along with the access token. So when you change App scopes, a little routine compares the provided App scopes with the ones you previously saved. If they differ and it means the merchant needs to re-approve the scope changes, the App just redirects to that page asking the merchant if they approve. If they do, the new scopes get saved in the DB, and you’re golden. There is NO WAY you want the merchant uninstall and re-install.
This has been in the code for about a year now or more. I am not sure when it was actually added but the Github repo clearly shows this change. Just follow that recipe if you rolled your own App.