How to update material driver paths on duplicate objects

HI,

My goal is the following:
I created an asset that has a couple of material slots. Some material properties drive other material properties in diffrent slots. I want to be able to duplicate that asset (preferably linked duplicate) and then be able to change a setting in the material of my duplicated asset without it affecting the other instances of my asset.

What I came up with:
I found that I can attach the material to the object level instead of the data level, that way, when I duplicate-link my asset, I can make the material a single user and edit it without breaking the Linked geometry.

What’s blocking me:
My problem is that when I duplicate my asset, the drivers that I’ve set on my material slots do not get marked as single users and when I tweak my material on any of my instances, all the other instances get tweaked aswell.

The current workaround I found:
The only way I can get the behavior that I’m looking for is by using Blender’s 3.0 asset manager. If I mark my asset as “asset”, I can then drag and drop the asset in the scene as many times as I want and each of them is individual. But I still can’t Alt+D (or even just Shift+D) to duplicate.

Does anyone have a clue on how to solve this problem ?