The URL for the Action Group webhook has to be over the public internet.
You could try and leverage the IP address pool, as you've suggested - but it will change over time, and this won't be the best fault to build into a notification system. Your concern is that a 3rd party will access the Azure Function and spoof critical alerts? The Azure Function does use keys to aid authentication, but I understand that a network level limitation is preferable to lots of users.
Network Security Groups do support ActionGroup
as a service tag, which serves to limit inbound access to just Action Group traffic.
Additionally, Action Groups support secure webhook as an option which might be preferable to you, but doesn't operate on a private network.
You could also opt to put the notification into Event Hub, and then trigger an Azure Function to do the work you need.