I believe CyBle_GapcConnectionParamUpdateRequest() will send packets to the remote device, but I don't have the documentation open atm.
Is a connection time of 4s a bad thing in your application? If you want the two devices always connected, they will only have to connect once the first time they power on/connect to each other, and then the low connection interval will reduce power consumption after that.
Otherwise, if you want to do a burst connection (connect, send a bunch of data, then disconnect), then you want to either: increase your CPU clock or reduce connection interval.
CyBle_GapcConnectionParamUpdateRequest() worked after all, I am not sure what I have done wrong when I have tried it first.