I thought Bash always first splits the identifier from the subscript, then checks which attributes the variable has set. If it has the associative array attribute plus a subscript then the subscript is only processed for expansions and the resulting string is used as the key. If the associative array attribute is not set then the subscript is processed for expansions and the resulting string is passed on to arithmetic evaluation.
Am I following the discussion correctly? i.e. if you have `a[b[text]]`, the treatment of `text` is entirely determined by b's attributes.