That sounds like a legit case although maybe something that could be fixed within n8n so you would always have the same URL, I am sure there is probably already an internal feature request for this to happen.
I have had a quick play and you can set the the WEBHOOK_TUNNEL_URL
environment variable in the .n8n/n8n-desktop.env
file that can be found in your users home directory that will then tell the n8n desktop app what URL to use / display for the webhook options, Set this to your ngrok URL and things seem to be all good.
The steps below are what I did to get it working but I only did a bit of testing so you may have different results.
Run ngrok and tell it to use the n8n web server which is listening on port 5679 (you can see this in the n8n-desktop.env file).
ngrok http 5679
Once that shows it is running grab the URL for the HTTPS connection and update the config file, You will need to add in the environment variable option.
N8N_DEPLOYMENT_TYPE='desktop_mac'
EXECUTIONS_PROCESS='main'
EXECUTIONS_DATA_SAVE_ON_PROGRESS=true
EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS=true
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER='removed-my-user'
N8N_BASIC_AUTH_PASSWORD='removed-my-pass'
N8N_PORT=5679
WEBHOOK_TUNNEL_URL='https://some-long-id.ngrok.io'
Now when you run n8n it will be using your ngrok URL and you can work on the fun stuff and get those tasks automated