The device registry will not match by identifiers

Hi,

I’ve got Asus router device with two integration: UPnP/IGD and ASUSWRT. Unfortunately, the device is not merged into one and there are two separate unique devices created. However, they both have the same identifier value: MAC address. As I understand based on device registry they

A device will be matched up with an existing device via supplied identifiers or connections, like serial numbers or MAC addresses. If identifiers and connections are provided, the device registry will first try to match by identifiers.

I tried to delete UPnP integration and add it back, no luck.
What could be wrong in here?

{"area_id":"utility_room","config_entries":["01J8QG2P9P6DJDTP0YZJ28JJ0K"],"configuration_url":"http://192.168.0.1","connections":[],"created_at":"2024-09-26T15:44:30.909394+00:00","disabled_by":null,"entry_type":null,"hw_version":null,"id":"fd03329efb0ef11420b3da1ffe00fce5","identifiers":[["asuswrt","3c:7c:3f:54:a1:20"]],"labels":[],"manufacturer":"Asus","model":"RT-AX88U","model_id":null,"modified_at":"2024-09-26T16:20:24.220001+00:00","name_by_user":"ASUS Router WRT","name":"192.168.0.1","primary_config_entry":"01J8QG2P9P6DJDTP0YZJ28JJ0K","serial_number":null,"sw_version":"3.0.0.4 (build 388.8)","via_device_id":null},

{"area_id":"utility_room","config_entries":["01J91AC3T9VZBBTN0TP7WDK4C1"],"configuration_url":null,"connections":[["mac","3c:7c:3f:54:a1:20"],["upnp","uuid:3ddcd1d3-2380-45f5-b069-3c7c3f54a120"]],"created_at":"2024-09-26T13:30:06.385970+00:00","disabled_by":null,"entry_type":null,"hw_version":null,"id":"a08b1cd48d1cc46e8984f9973c075c3b","identifiers":[["upnp_host","192.168.0.1"],["upnp_serial_number","3c:7c:3f:54:a1:20"],["upnp","uuid:3ddcd1d3-2380-45f5-b069-3c7c3f54a120::urn:schemas-upnp-org:device:InternetGatewayDevice:1"]],"labels":[],"manufacturer":"ASUSTeK Computer Inc.","model":"ASUS Wireless Router","model_id":null,"modified_at":"2024-09-30T11:31:26.979262+00:00","name_by_user":"ASUS Router UPnP","name":"andart","primary_config_entry":"01J91AC3T9VZBBTN0TP7WDK4C1","serial_number":null,"sw_version":null,"via_device_id":null}

Not sure if you can have a device across multiple integrations, but even if it does, device identifiers are tuples ( connection_type, connection identifier) and one creates

    [
      "mac",
      "3c:7c:3f:54:a1:20"
    ],

and the other

    [
      "asuswrt",
      "3c:7c:3f:54:a1:20"
    ]

so they are different