For Android phones, it is not possible to change the MTU size from default (23 bytes).
Can you please let me know how you verified the write is success after disabling the write long? Did you read back the GATT DB written value? Is it was showing the data which > 20 bytes? Please check it, it would not have updated the GATT DB .
I forgot to mention, that I disabled the Write Long Support in my BLE event callback function by not handling the corresponding events. And yes, I verified this by reading back the written values.
Is the Write Long Support somewhere handled in the stack?