I have been attempting to increase MTU size with DLE enabled on SDK14 using softdevice S332 utilizing the gatt module. With current memory requirements, I can increase MTU to 140 bytes in my application. I have tested on iPhone 5SE, 6 Plus, 7 and X and in all cases the phone will respond back with their maximum MTU and maximum DLE they are capable of. These values are different for different models of iPhone however I always receive a response so dealing with the variable capabilities is no problem.
For Android devices, I get some very different behavior. For a Samsung S8, I always get the response after requesting an MTU size increase to 140. However on a Pixel 1, Pixel 3 and Sony Z5 compact, any request over 127 fails to respond. Strangely, with a request for an MTU of 127, I get a response and enabling DLE correctly sets the packet size to 131 (127 + 4 bytes L2CAP).
The hunch is of course there is a signing error regarding the MTU size request in some Android Bluetooth stacks, however, I need more confirmation from DevZone community on this one.