Hi Loïc GUILLAUME,
Please see the image attached. I am sending a byte at the same time that the Master is sending the first data.

I tested by my side, working on the driver_examples_dspi_interrupt_b2b_transfer_slave from the SDK.
I am sending just one byte as you.
Yes. It is on purpose. I want to chain 2 transfers into the same "CS Low" if I can say.
You are trying, in this case, to send 0xAA and 0xBB, aren't you?
I am following your implementation and using the SPI included in the SDK.
I commented on the Stop Transfer and Flush Fifo, the DSPI_SlaveTransferNonBlocking is implementing these 2 functions.
uint8_t a[2] = {0xAA,0xBB};
uint8_t b = 0x01;
//DSPI_StopTransfer(SPI1);
//DSPI_FlushFifo(SPI1, true, true);
while (1)
{
PRINTF("\r\n Slave example is running...\r\n");
/* Reset the receive buffer */
for (i = 0; i < TRANSFER_SIZE; i++)
{
slaveRxData[i] = 0U;
}
/* Set slave transfer ready to receive data */
isTransferCompleted = false;
slaveXfer.txData = a;//NULL;
slaveXfer.rxData = NULL;//slaveRxData;
slaveXfer.dataSize = TRANSFER_SIZE;
slaveXfer.configFlags = kDSPI_SlaveCtar0;
/* Slave start receive */
DSPI_SlaveTransferNonBlocking(EXAMPLE_DSPI_SLAVE_BASEADDR, &g_s_handle, &slaveXfer);
while (!isTransferCompleted)
{
}
/* Set slave transfer ready to send back data */
isTransferCompleted = false;
slaveXfer.txData = &b;//slaveRxData;
slaveXfer.rxData = NULL;
slaveXfer.dataSize = TRANSFER_SIZE;
slaveXfer.configFlags = kDSPI_SlaveCtar0;
/* Slave start send */
DSPI_SlaveTransferNonBlocking(EXAMPLE_DSPI_SLAVE_BASEADDR, &g_s_handle, &slaveXfer);

Why the next transfer doesn't erase the buffer?
Sorry for this misunderstanding, this implementation is already done in the code. The driver is erasing the buffer.
I checked the main file that you provided.
Is it possible that you could provide some screen of the issue?
What is the reason that you are toggling the PTC17?
Regards,
Mario