In my opinion,
I would recommend, rather than actually changing the blizzard skin, create a new display ID via CreatureDisplayInfo.dbc, using the same model and calling the BLPs like KalecgosCustom1.blp, KalecgosCustom2.blp and KalecgosCustom2.blp, so in this case it would be:
CreatureDragonKalecgosDragonKalecgos.m2
CreatureDragonKalecgosKalecgosCustom1.blp
CreatureDragonKalecgosKalecgosCustom2.blp
CreatureDragonKalecgosKalecgosCustom3.blp
The only problem is what Vel mentioned above, the creature could have it's textures hardcoded.
In that case, what you can do is open the model and change the texture treepaths (as vel said), or, the cooler way and more "pro looking" is copy the model, call it like KalecgosCustom.m2, so it would be like
CreatureKalecgosCustomKalecgosCustom.m2
CreatureKalecgosCustomKalecgosCustom1.blp
CreatureKalecgosCustomKalecgosCustom2.blp
CreatureKalecgosCustomKalecgosCustom3.blp
Open the model in PyModelEditor, and change the hardcoded textures to the said treepaths above, and you're done with the model and textures! Ofcourse, it goes without saying that you would also have to create a new Model ID (CreatureModelData.dbc), and use the new custom entry that you added, as the model when making the new Display ID (CreatureDisplayInfo.dbc)
If you have anymore problems, let me know
Edit: In both cases, you would have to change the display ID of Kalecgos to your new one to be able to see the effects