Has the default MTU changed to 517 bytes in Android 14? If so, this would warrant questions pertaining to hardware, the Bluetooth stack, MTU capabilities and proper usage of the function requestMtu().
~I now understand that the default MTU value (23) has not changed under Android 14. Thank you to all who provided feedback and trust that others will find utility in the commentary.
As you describe in your question, BluetoothGatt offers a requestMtu method since API 21. However, this is not possible in Android 14 and beyond:
The workarounds include changing your firmware:
...or manually sending appropriately-sized packets: