Dynamic for_each causing recreation with no chnages

Hello, Any help to give me some direction as to what I am doing wrong here, please?

Core issue: while using for_each, for some reason, when we plan and apply it recreates some of the configurations within the Azure application gateway, even though no elements of the rule is not changed. It happens when we add a new item to the list. From what I read when using for_each, it should not do that and is better in count in that instance.

In Module, I am deploying Azure Application Gateway

resource "azurerm_application_gateway" "appgw" {
  count               = var.appgateway_deploy ? 1 : 0
  name                = var.name
.
.
dynamic "request_routing_rule" {
    for_each = var.request_routing_rules
    content {
      name                       = request_routing_rule.value.name
      rule_type                  = lookup(request_routing_rule.value, "rule_type", "Basic")
      url_path_map_name          = lookup(request_routing_rule.value, "url_path_map_name", null)
      http_listener_name         = request_routing_rule.value.http_listener_name
      backend_address_pool_name  = lookup(request_routing_rule.value, "backend_address_pool_name", null)
      backend_http_settings_name = lookup(request_routing_rule.value, "backend_http_settings_name", null)
    }
  }
.
.
}

In the module Variable.tf the varialb is declared as below.

variable "request_routing_rules" {
  type        = list(map(string))
  description = "List of objects that represent the configuration of each backend request routing rule."
  # request_routing_rules = [{ name = "", http_listener_name = "", backend_address_pool_name = "", backend_http_settings_name = "" }]
}

Calling the Module

module "agw_firewall" {
  source                    = "../modules/az-applicationgateway"
  appgateway_deploy         = true
  .
  .
   request_routing_rules = [
      name                       = "rules-apidp-dev-info"
      http_listener_name         = "listeners-apidp-dev-info"
      backend_address_pool_name  = "backend-pools-pafin"
      backend_http_settings_name = "http-settings-apidp-dev-info"
      rule_type                  = "Basic"
    },
    {
      name                       = "rules-api-dev-info"
      http_listener_name         = "listeners-api-dev-info"
      rule_type                  = "PathBasedRouting"
      url_path_map_name          = "rules-api-dev-info"
    }
  ]
  .
  .
  }

When I Plan and Apply, it recreates the following

      - request_routing_rule {
          - http_listener_id   = "/subscriptions/8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1/resourceGroups/rg-core-connect-cc-001/providers/Microsoft.Network/applicationGateways/agw-pafin-connect-cc-001/httpListeners/listeners-api-dev-info" -> null
          - http_listener_name = "listeners-api-dev-info" -> null
          - id                 = "/subscriptions/8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1/resourceGroups/rg-core-connect-cc-001/providers/Microsoft.Network/applicationGateways/agw-pafin-connect-cc-001/requestRoutingRules/rules-api-dev-info" -> null
          - name               = "rules-api-dev-info" -> null
          - rule_type          = "PathBasedRouting" -> null
          - url_path_map_id    = "/subscriptions/8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1/resourceGroups/rg-core-connect-cc-001/providers/Microsoft.Network/applicationGateways/agw-pafin-connect-cc-001/urlPathMaps/rules-api-dev-info" -> null
          - url_path_map_name  = "rules-api-dev-info" -> null
        }
      + request_routing_rule {
          + http_listener_id   = "/subscriptions/8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1/resourceGroups/rg-core-connect-cc-001/providers/Microsoft.Network/applicationGateways/agw-pafin-connect-cc-001/httpListeners/listeners-api-dev-info"
          + http_listener_name = "listeners-api-dev-info"
          + id                 = "/subscriptions/8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1/resourceGroups/rg-core-connect-cc-001/providers/Microsoft.Network/applicationGateways/agw-pafin-connect-cc-001/requestRoutingRules/rules-api-dev-info"
          + name               = "rules-api-dev-info"
          + rule_type          = "PathBasedRouting"
          + url_path_map_id    = "/subscriptions/8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1/resourceGroups/rg-core-connect-cc-001/providers/Microsoft.Network/applicationGateways/agw-pafin-connect-cc-001/urlPathMaps/rules-api-dev-info"
          + url_path_map_name  = "rules-api-dev-info"
        }

This happens when I add a new entry for a new routing rule. I even compared to the state file and put it in the order that it would expect but stame result.

Any Help would help please.