It doesn’t look like it’s countacting the first parent’s rotation. When I parent the text layer initially, it gains a rotation of 18° (base on the parent).
Then adding the expression makes it match up with it’s first parent 18° off. It’s not staying horizontal.
I subtracted 18 at the end of the expression to fix it. But that’s more of a band-aid than a fix.
-radiansToDegrees(Math.atan2(v[1],v[0])) - 18