Yes, the ATT_MTU is independent of the link layer's data length limit. As the name suggests, ATT_MTU is related to the maximum amount of data that can be transferred at the ATT layer, whereas the normal packet length relates to the maximum amount of data that can be sent in the physical layer.
As you suggested, this means that if the ATT_MTU is larger than the maximum physical packet length, the data is fragmented in the lower (physical) layer. For example, if the maximum ATT_MTU is 517 while the maximum chunk BLE chunk is 251, this means that the data you are sending across will be divided into chunks of 251 bytes. This is why the ideal ATT_MTU/packet length combination is usually an ATT_MTU of 247 and a packet length of 251.
As for the maximum ATT_MTU, I believe that this isn't specified by the Bluetooth specification and should therefore be chip dependent. The Bluetooth spec does mention that the maximum length of an attribute should be 512 (Bluetooth Core Specification 5.2, Vol 3, Part F, section 3.2.9 Long attribute values):-
The maximum length of an attribute value shall be 512 octets.
Therefore an ATT_MTU of 515 or more will certainly be able to transfer the largest attribute allowed by the Bluetooth specification.
You can also have a look at the links below for more information:-