tbh i never found the bug that causes the LoD to change
i found the function that sets and sends the LoD stuff and it had a compare that said if LoD = 1 pass it on and everything above 1 gets jumped to a different spot
tinkered with hooking and forcing everything to a variable you could set (1 worked best of course), or just removing that check completely, both worked but the easiest/shortest fix was to change that compare from 1 to 5 so that it treats everything with LoD 5 and below the same as it treats 1
end result seems to force everything to full LoD without having to actually modify any LoD values or insert/remove any code