diff --git a/moto/route53/responses.py b/moto/route53/responses.py
--- a/moto/route53/responses.py
+++ b/moto/route53/responses.py
@@ -81,6 +81,9 @@ def list_or_create_hostzone_response(self, request: Any, full_url: str, headers:
                 delegation_set_id=delegation_set_id,
             )
             template = Template(CREATE_HOSTED_ZONE_RESPONSE)
+            headers = {
+                "Location": f"https://route53.amazonaws.com/2013-04-01/hostedzone/{new_zone.id}"
+            }
             return 201, headers, template.render(zone=new_zone)
 
         elif request.method == "GET":

Thanks for raising this @stof, and welcome to Moto! Marking it as an enhancement to add this field.

It doesn't look like this field is returned anywhere else, in GetHostedZone or ListHostedZones, so we'll just add it to the Create-operation.
I confirm that the description files used by the official AWS SDKs have this field only for the `CreateHostedZone` operation.
diff --git a/tests/test_route53/test_route53.py b/tests/test_route53/test_route53.py
--- a/tests/test_route53/test_route53.py
+++ b/tests/test_route53/test_route53.py
@@ -5,8 +5,9 @@
 
 import botocore
 import pytest
+import requests
 
-from moto import mock_ec2, mock_route53
+from moto import mock_ec2, mock_route53, settings
 
 
 @mock_route53
@@ -28,6 +29,10 @@ def test_create_hosted_zone():
     delegation["NameServers"].should.contain("ns-2050.awsdns-66.org")
     delegation["NameServers"].should.contain("ns-2051.awsdns-67.co.uk")
 
+    location = response["Location"]
+    if not settings.TEST_SERVER_MODE:
+        assert "<Name>testdns.aws.com.</Name>" in requests.get(location).text
+
 
 @mock_route53
 def test_list_hosted_zones():
@@ -481,7 +486,6 @@ def test_list_or_change_tags_for_resource_request():
 @mock_ec2
 @mock_route53
 def test_list_hosted_zones_by_name():
-
     # Create mock VPC so we can get a VPC ID
     ec2c = boto3.client("ec2", region_name="us-east-1")
     vpc_id = ec2c.create_vpc(CidrBlock="10.1.0.0/16").get("Vpc").get("VpcId")

The CreateHostedZone response for Route53 does not match the behavior of AWS
## Reporting Bugs

I'm using localstack, which implements its route53 mock service using moto.

The `CreateHostedZone` operation returns a response that misses some info compared to an actual AWS response. In particular, it misses the `Location` header, which is where official AWS SDKs are reading the location.

See https://github.com/localstack/localstack/pull/5639#issuecomment-1064527918 for a detailed analysis submitted to localstack a while ago


tests/test_route53/test_route53.py::test_create_hosted_zone
tests/test_route53/test_route53.py::test_update_hosted_zone_comment tests/test_route53/test_route53.py::test_use_health_check_in_resource_record_set tests/test_route53/test_route53.py::test_get_dns_sec tests/test_route53/test_route53.py::test_get_unknown_hosted_zone tests/test_route53/test_route53.py::test_list_or_change_tags_for_resource_request tests/test_route53/test_route53.py::test_geolocation_record_sets tests/test_route53/test_route53.py::test_deleting_weighted_route tests/test_route53/test_route53.py::test_change_resource_record_set_create__should_fail_when_record_already_exists tests/test_route53/test_route53.py::test_list_hosted_zones_by_name tests/test_route53/test_route53.py::test_deleting_latency_route tests/test_route53/test_route53.py::test_change_weighted_resource_record_sets tests/test_route53/test_route53.py::test_change_resource_record_sets_crud_valid tests/test_route53/test_route53.py::test_change_resource_record_set__should_create_record_when_using_upsert tests/test_route53/test_route53.py::test_list_resource_recordset_pagination tests/test_route53/test_route53.py::test_change_resource_record_invalid tests/test_route53/test_route53.py::test_delete_hosted_zone_with_change_sets tests/test_route53/test_route53.py::test_list_resource_record_sets_name_type_filters tests/test_route53/test_route53.py::test_delete_hosted_zone tests/test_route53/test_route53.py::test_hosted_zone_comment_preserved tests/test_route53/test_route53.py::test_change_resource_record_sets_records_limit tests/test_route53/test_route53.py::test_list_resource_record_set_unknown_type tests/test_route53/test_route53.py::test_list_hosted_zones_by_dns_name tests/test_route53/test_route53.py::test_failover_record_sets tests/test_route53/test_route53.py::test_get_hosted_zone_count_no_zones tests/test_route53/test_route53.py::test_change_resource_record_set__delete_should_match_create tests/test_route53/test_route53.py::test_get_hosted_zone_count_many_zones tests/test_route53/test_route53.py::test_change_resource_record_invalid_action_value tests/test_route53/test_route53.py::test_change_resource_record_sets_crud_valid_with_special_xml_chars tests/test_route53/test_route53.py::test_list_hosted_zones tests/test_route53/test_route53.py::test_list_resource_record_set_unknown_zone tests/test_route53/test_route53.py::test_get_change tests/test_route53/test_route53.py::test_get_hosted_zone_count_one_zone