You have the bottom texture coordinates the same as those for the top so the bottom will have the same`tangent` as the top. Should the bottom texture coordinates be reflected in the x direction like we did for the extent? If so, then this stays negative.