Greetings!
I have a central that's writing BLE messages to a peripheral. The characteristic on the peripheral is a 32-byte array, and my experiment is to write 32 bytes from the Central to the Peripheral without extending the Data Length, but only extending the ATT MTU. My understanding is that this is plausible, GATT will only need to send more messages within the same connection.
I am attempting to write:

Where bt_write_to_characteristic looks like:

and closely follows setup for the NCS NUS sample.
This is then seen to be split up into two writes on the peripheral (which makes sense since I didn't edit the DLE and it should remain 27 bytes long), and is split up into a message of 18 bytes and a message of 14 bytes (equals 32 bytes, so still makes sense). What then baffles me, is that the first message is entirely correct while the second message is seemingly gibberish:

This is output from the peripherals characteristic write callback:

Why would this be? Any idea what might be wrong? And why was the message split up into 18 and 14, and not 20 & 12, which would have made more sense regarding standard att payload is 20?
(I know i am actually overwriting the beginning of the characteristic value after receiving the BLE writes, but ignore that for now also, I know it's peripheral functionality so ignore the fact its wrongly called 'beacon'
)
Current bluetooth related Kconfigs on both Central and Peripheral:
Looking forward to your response!
Best regards,
Jonas