As per your description, when the water mark flag is asserted, the buffer has 28 bytes space (so you need to send 7 data words to fill the buffer) but in case of 70 MHz. But in case of 100 MHz, it has 24 bytes space (sending 6 data words filling the buffer).
Create a small buffer (1K size) and test the functionality at 100MHz and 70 MHz.
Share the screen shots of the control signals along with the Flags in both the cases.
We can cross check whether the above said behavior is matching in the timing diagram.