The nRF52 SDK is limiting the transfer size to 255 byte even if the HW supports bigger buffer.
This is due to a data type that is defined as uint8_t:
typedef uint8_t nrf_twis_amount_t;
and should be change to uint16_t
I don't check if the problem is solved in later SDK but it is at least in SDK 15.3