For whatever it’s worth, I made a version of this a while ago: How to tile textures WITHOUT Absolute World Position and TextureCoordinate ? - #19 by Arkiras
Mine doesn’t require an object scale input
Originally I was transforming the positions/normals like you were, but another user pointed out that you can use pre-skinned local nodes and that turned out to be cheaper.