Looking at your reverse geocode request, the coordinates you are passing in are none of the coordinates in the geocode response. The coordinate you are passing in is a block away from the geocode results coordinate.
Forward and reverse geocoders will often not agree, and that's just a standard thing in GIS. A forward geocoder will match based on a text look up while a reverse geocoder will typically snap to the nearest road segment, then look for the nearest address on that line segment. In your situation the address is for Greeno Rd South, but the main entry point to the location is on Morphy Ave, and a small variance in the coordinate (a few feet) would make the coordinate closer to Morphy Ave than Greeno Rd.
I also see you are using the older search services. This happen less if you use the latest version of the forward and reverse geocoders in Azure Maps (they have a lot more data and improved logic). https://learn.microsoft.com/en-us/rest/api/maps/search?view=rest-maps-2025-01-01 (Note that the coordinates are reversed as the newer API's better align with GIS industry standards of longitude,latitude and the response is a GeoJSON object).
That said, it looks like you are doing an "autosuggest" style query which the current geocoder does not support. So, passing in your partial query will not provide a good result. I believe there are plans for a dedicated autosuggest type service in the future. Doing some tests, here is what I'm seeing:
- Test 1: Using the latest services, geocoding the full address, then take coordinates and reverse geocode. I'm getting the same address from the reverse geocoder.
- Test 2: Use older search service with partial query (your exact query), then passing the coordinate into the new reverse geocoder. I get the expected address of 98 Greeno Rd S from the reverse geocoder.