The "problem" is that FontStrings ALWAYS use the highest sublevel of the layer, it doesn't matter what your set.
So to address your issue, I'd either put your text on a lower layer: ARTWORK, or move your texture to a higher layer: HIGHLIGHT.
Lua Code:
local text = UIParent:CreateFontString()
text:SetDrawLayer("ARTWORK")
text:SetFont(LSM:Fetch("font", "koverwatch"), 24, "OUTLINE")
text:SetPoint("CENTER")
text:SetText("Text")
local texture = UIParent:CreateTexture()
texture:SetDrawLayer("OVERLAY")
texture:SetTexture(READY_CHECK_READY_TEXTURE)
texture:SetPoint("CENTER")
texture:SetSize(36, 36)
Creating additional frames and using them as parents for your FontStrings and Textures is a solution too, it's viable if you have really complex unit frames w/ multiple layers of textures and/or texts, otherwise it's an overkill.