Custom plugin icon not showing up

The dev docs are for adding an icon that the .org repository can use. You’ll note that the relevant docs are part of the “The WordPress.org Plugin Directory” section.

To display an icon on the updates screen for a plugin that is not distributed through the repository you need to include the icon URL in the update data that WordPress receives when it checks for an update. WordPress looks for the icon in $plugin_data->update->icons[ $preferred_icon ], where $preferred_icon is the first of 'svg', '2x', '1x', 'default' that has a value.

This is how the data looks for Akiset, for example:

"akismet/akismet.php": {
    "id": "w.org/plugins/akismet",
    "slug": "akismet",
    "plugin": "akismet/akismet.php",
    "new_version": "4.1.11",
    "url": "https://wordpress.org/plugins/akismet/",
    "package": "https://downloads.wordpress.org/plugin/akismet.4.1.11.zip",
    "icons": {
        "2x": "https://ps.w.org/akismet/assets/icon-256x256.png?rev=969272",
        "1x": "https://ps.w.org/akismet/assets/icon-128x128.png?rev=969272"
    },
    "banners": {
        "1x": "https://ps.w.org/akismet/assets/banner-772x250.jpg?rev=479904"
    },
    "banners_rtl": [],
    "requires": "4.6",
    "tested": "5.8",
    "requires_php": false
}

Not knowing anything about how you are deploying updates, I can’t say exactly what you’d need to change. If you’re using a 3rd-party library you’d need to ask its author.