Welcome to the forum.
The problem here is that you do not control the points between.
Finding this granularity is part science, part art, as there is no real good one answer, more a report on findings across many factors.
Locating a bottleneck properly would mean being able to test all points between to and from each side, you will never have access to all of them, but you can infer some things and view a lot of angles to get a better picture.
Things you can eliminate are "Do you have adequate throughput on your side?" That can be had if you have a known site with dedicated bandwidth to test against and a known good route between capable of sustaining your throughput. Online speed tests can be deceiving, because you may have an adequate connection, and THEY may have the adequate bandwidth to perform tests reliably. But neither of you control what happens between you and them. IF you are consistently getting good speed tests to multiple test sites, then you can relatively safely rule out the issue is on your side as far as you control it. The flip side of course if that failure to all may still not be you, it could be your ISP's ISP, someone in a core network somewhere, some route down congesting another to stay up, etc. In which case if you can ask your ISP to get involved, but on a consumer line they will throw the "Speeds up to" at you, on a dedicated business line you have an argument, but still a burden of proof.
Though it is not impossible, the choke point is not likely on the azure side, unless you have a limited BW contractually.
You can do things like use MTR https://en.wikipedia.org/wiki/MTR_(software) to get a slight overview, but bear in mind dropped ICMP can be a result of the natural operation of the systems as most networking equipment will discard ICMP under stress, and some are just configured not to respond by default. So though this may give you more to go on, it is not a smoking gun, you have to understand how to read, and interpret it.
You can look places like here https://www.thousandeyes.com/outages/ where major outages are recorded via sensor networks worldwide. That can sometimes give you a clue, especially in the AS network (the core nodes of the internet in simple terms) if one is having issues that directly affect your route.
To interpret that, and determine what "your" route is, you can start with HE's BGP tools here https://bgp.he.net/ you will see effectively where in the internet you are in a routing sense. IF you click the IP that is what you go through to get to the internet (commonly known as your public IP), form there you will see something like this...
This is who you are to the internet (Visiting from), what network you are coming from (announced as) and how that enters the "internet" (Your ISP)
That can be traced from ASN to ASN (Autonomous system number) to see the actual route you take (at that point in time, as this is subject to shift around without notice to keep routes open) or even look at it graphed.
Then you can compare to the thousand eyes chart, or a multitude of othr BGP reporting tools online to see if those routes have known congestion, or are they flapping (going up and down), etc.
That will generally give you enough information to notify who may be in charge of what system (be advised most will not care past your ISP) and though that may not get you to where yo want to be, it explains why you are not where you want to be.
All in all you have to think of it like this, speed is not consistent all over the internet, some sections are connected via mind boggling fast links, some not so much. And when one of those big ones go down, many smaller suffer greatly.
So what can you do about it?
Sometimes you can go around it if you are doing peer to peer connections, but you going around will not ensure your customers all traveling the same routes will have the same experience. For instance you could have a web server over there, and you may be able to get a solid good throughput connection to something like a VPN provider that exits closer to your remote end and force it to take a better route. Users going to your server not doing the same thing will not have the same experience. There are some services that can do this for a fee for the whole thing, effectively making your sever appear elsewhere than where it really is, and taking a premium route. Possibly cloudflare has services like this, I have never used it, so I would have to let an expert in cloudflair chime in on that.
Hopefully that gives you enough to go on to understand how this can get tricky, and also understand your experience and someone a state away could be entirely different.