The function is called only when the frames .threatNumericIndicator shows/hides. Try running the function after hooking it to set an initial state.
Slight change to SkinTarget:
Code:
local function SkinTarget(init)
if init or TargetFrame:IsShown() then
...
Code:
hooksecurefunc("TargetFrame_UpdateAuras", SkinTarget)
SkinTarget(true)