Your question is too broad, and is hard to give a good answer covering all these items.
I will add my 2 cents and guide to the following information to elaborate you to the right question:
I can see 3 main challenges for your decision:
- Application Platform
- Load Balancing and Access Management
- Service to Service Communication
You can't have a single decision that covers all these topics, because a decision to one topic will impact the others:
First I recommend you to decide which Application Platform will be better to your services, deciding between Functions, AppService, Service Fabric Mesh is a hard decision and one single answer here would not be enough to give the right information.
In your options you are missing containers, that is the foundation of the Service Fabric Mesh, if containers is an option, you will have also to increase you list with many other platforms.
Your decision will be tough:
- Functions
- AppService APIs
- Service Fabric Mesh
- Azure Container Instances
- Web App for Containers
- Kubernetes (AKS)
Scalability is relative to each application, one solution might scalable in one platform but others doesn't, you have to evaluate your application design against each one.
Once you pick the right one, the service to service communication will be the next step and each platform has an approach that works better than others.
Once you have the answer for these two, you can then decide which Proxy\Gateway you chose to handle the Load Balancing and Access Management, and depending on your choice above, Azure API Management or Azure Application Gateway could not be a good option but you would have other options available.