Steps to reproduce the issue:
Give yourself a dyed item with an item model component of a non dyeable item, such as /give @s minecraft:leather_horse_armor[dyed_color=255,item_model=iron_sword]
Expected result: the item appears as an iron sword recolored blue
Actual result: the item appears as a regular iron sword
Bottom screenshot is expected (1.21.3), top screenshot is actual result (1.21.4-1.21.8+)
This works as intended per the fix to MC-276732 and the 24w45a changelog
As good news, the appearance of colored items is now data-driven, so you can create your own item model that supports this.