The I²S connection was not intended to be used via cables, and most integrated circuits will not have the correct impedance for coaxial cables. As the impedance adaptation error, associate with the different line length, can cause difference of propagation delay between the clocks line and data line, this can result in synchronization problem between the SCK, WS and data signals, mainly at high sampling frequency and bitrate. As the I²S doesn't have any error detection mechanism, this can cause important decoding error.
However as much I can read the Arduino I2S Library reference Link:https://www.arduino.cc/en/Reference/I2S refers only to SAMD21 based boards. But why? Why there is this restriction.
f_intrq = samplerate * bits per channel * channels * 2
The software support for SAMD21 Arduino boards is very lacking.
I haven't gotten the same impression from my limited experience with ESP32.
Meanwhile, the SAMD support seems to be getting really good now. However, I don't have a lot of experience with audio applications, and none with I2S
(though I did recently get an I2S mic and amp so that I can start playing with it).