I2S is a set of clocks and a data signal. This is different (somewhat) to SPDIF. So don't compare I2S DACs (as all RPi HATs are) to normal DACs, it will just confuse you.
"Master" and "slave" refer to who generates the clocks. If the (I2S) DAC is slave, then the clocks are generated by the source device (in this case, the RPi) together with the data:
Clocks: Source device -> Slave DAC
Data: Source device -> Slave DAC
The problem with the clocks generated by the Raspberry Pi is that they are generated by dividing the processor master clock, which is not an exact division, so the clocks get jittery. So the Allo Kali is one solution, which reclocks (retimes) the clocks and data signals between the RPi and the DAC.
The other way to get a better clock is to have the DAC do it i.e. have the DAC be the clock master. This requires different drivers in the RPi software. So, the DAC generates the clocks, and the source device (Rpi in this case) has to generate the data "in time" with those clocks:
Clocks: Source device <- Master DAC
Data: Source device -> Master DAC
Some DACs (e.g. Sabre) have their own internal reclocking so probably benefit less from either of the above approaches.