Below I may be a bit verbose, so that if my understanding is wrong, it will be glaringly obvious.
Consider two external accounts:
The external accounts are used to receive bitcoin. When we search for new balances, we check only the external accounts. No-one should be sending money to your internal accounts except for you.
m/44'/0'/0'/0/0 : External account 0
m/44'/0'/0'/0/1 : External account 1
If both accounts are used in transaction A, Is there any rule that says the change must go to (Internal account 1) or (Internal account 0)?
If after Transaction A, we receive funds at External account zero and it is the only input in the transaction. Do we send the change to (Internal account 0) or the most updated internal account?
I think that if an address keeps sending change to an address, it can indicate that it is a change address, no?