Geofencing is almost always delayed, not just with Alexa, but with everything and anything that uses geofencing. The reason why is because your phone does not always know your exact GPS location. If it did, your phone's battery would run out in an hour or two. Depending on your phone (and Android/IOS version) your GPS location is probably checked every 5-15 minutes. If you use the battery saver function on your phone, it would likely be much more than 15 minutes. It would check more often if you were actively using your phone and the app you were using already requested your GPS location. But if your phone is just sitting in your pocket, the GPS location will not be updated for several minutes.