If you can change your approach/algorithm/model to use Blocks instead of Items, you can most likely do it with Blocks as they are different than Items:
<drop event="Harvest" name="resourceForgedSteel" count="2,4"/>
<drop event="Destroy" name="resourceSpring" count="1,5" />
Both Harvest and Destroy allow an Item as a harvest or destruction output.
To map to tiers you could have different blocks that extend a base block.
Another thought is that you could craft the material using the weapon as a component - but you cant specify item tiers in recipes, and this is a hurdle for anything that varies according to tiers. (recipes, harvest, destroy etc)
You could also maybe simplify the process, e.g. use the recipe components for a tier 6 sniper rifle as the recipe components for the material. (which is effectively the same as creating a tier 6 sniper rifle and then scrapping it for the material.) This will reflect the tier requirement to get the material.
Sticking to the sniper rifle example, you could create 6 different individual sniper rifles with increasingly better attributes. The rifles dont have tiers and then use the workbench to break them down to the respective material using recipes. This removes the tier level problem, instead of one sniper rifle with 6 tiers you have sniper1, sniper2, .... sniper6.
I'm not overly sure of how you are implementing the approach so the above are just suggestions.
cheers