It is not only the Row Height which makes problems in this setup. If you change the Brick Width, the Offset will be broken too.
In the following example I have changed the Brick Width to 0.7, while the Offset is at 0.5 which should result in the alternating rows being offset half of the width - but they are not:
So as you see, the Row Height setting can not be used as you already discovered and the same goes for the Brick Width. The issue is caused by the fact that the mathematical operations there use fixed values in some parts which should actually be relative to Brick Width and Row Height:
Instead of leaving the fixed values there you could now add two Value nodes to the shader: one for the Row Height and one for the Brick Width.
The Row Height value needs to be multiplied by 2 for the first unused input socket in the upper Divide node, then you can plug it directly into the next unused socket in the other Divide node and into the Brick Texture's Row Height input. The other Value node you plug into the last unused input socket in the Multiply node and into the Brick Width input of the Brick Texture. Now you can change Brick Width and Row Height with those values.
The whole nodetree setup seems very slow to me. Probably there are ways to build this more efficient by using a completely different method, but I was just focusing on repairing the issue in this specific setup. Here is the file with the modified nodetree: