Error: Invalid index - For_each

Basically count of keys and keys have to be equal on structures local.nat_gateways and local.compute_subnets.
So this means if a single NAT Gateway should be used for multiple subnets then the data structure of local.nat_gateways has to be expanded.

This might be a starting point:

locals {
  nat_gateways = {
    "AZ1" = { az = "eu-west-2a" } /* ,
"AZ2" = {az = "eu-west-2a"},
"AZ3" = {az = "eu-west-2a"} */
  }
  compute_subnets = {
    "AZ1" = { cidr = "10.100.11.0/24", az = "eu-west-2a" },
    "AZ2" = { cidr = "10.100.12.0/24", az = "eu-west-2b" },
    "AZ3" = { cidr = "10.100.13.0/24", az = "eu-west-2c" }
  }
  trans_nat_gateways = { for ck, cv in local.compute_subnets : ck => {
    az = try(local.nat_gateways[ck].az, local.nat_gateways["AZ1"].az) 
    }
  }
}

output "trans" {
  value = local.trans_nat_gateways
}