As M. Kotzjan indicated, this is related to the MTU supported by the other device. From the Bluetooth Specification v5.2, Vol 3, Part G, Section 4.3.1 (Exchange MTU):-
This sub-procedure is used by the client to set the ATT_MTU to the
maximum possible value that can be supported by both devices when the
client supports a value greater than the default ATT_MTU for the
Attribute protocol. This sub- procedure shall only be initiated once
during a connection.
In other words, if you request an MTU of 512 and the remote device replies with 23 (the minimum MTU value), the connection's MTU will be 23. If you request 512 and the remote device replies with 100, the connection's MTU will be 100. If you request 200 and the remote device replies with 512, the connection's MTU will be 200.
Have a look at the following link for more information:-
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…