I would agree that the values bash is producing don't make a lot sense, but I don't think you can say that either is correct - one may be more desirable than the other, but that's it.
Var expansion (not $I but just I) is defined for $(( )) only when I contains a integer constant (optionally signed) - anything else supported is an extension, and can be defined to work however the implementor wants it to work. kre