Your object coords are just the object space coordinates of your vertices, interpolated across faces. GN's "position" is in object space. If you want to do a GN transform without affecting these coords, you can capture their object coords-- that is, their object-space position-- with a Capture Attribute node and output the result to a new, vector-type attribute, then reference that attribute in your shader instead of your object coords:
Shown are two cubes with different GN node trees that differ only in the rotation in the transform.
Edit: You've edited your question to expand your problem. There are a lot of complicating factors in your edited question. They are addressable, but not easily:
The first part of this is, we're going to capture the the XY position of our realized text, and transfer from untransformed instances to transformed instances by index-- but we'll only output our transformed instances. Because the transformed and untransformed versions are identical other than transform, their indices should match up exactly how we expect.
You'll notice as well that I'm joining with our original geo-- with everything masked out. I'll explain in a second.
Now, we have our solidify modifier. Keep in mind that previous to this modifier, our geo has no object space Z position, it's all zero. So we couldn't have created a Z value for our object coords previously. We need to mark the verts we created via the solidify modifier somehow, and one of the few ways that we can do that is by outputing a vertex group on the shell. I created a VG named "solid", then we'll designate that as an output group for the shell.
That's also why we need to join with our original, completely masked geometry. If we don't do that, we'll lose the VGs on our original geo, and there will be no solidify group to which to assign solidify-generated vertices.
Now we have our proper, pre-transform object-space coords, but only in XY. We need to assign those some Z values. We can do that with a new GN tree that creates Z values on the basis of whether or not those vertices were created by the solidify modifier or not. If they weren't, we're going to leave them at z=0, because that's where we've instanced our text. If they were created by the solidify modifier, as evidenced by belong to the input VG, we're going to move them to -0.18. Why that number? That's how thick our solidify is. (If we wanted, we could link these two numbers via a driver.)
Finally, we have a fully 3D vector that we can use in lieu of object coordinates in our material, just as with the cube.