Based on #5267. The conflicted transaction tracking during mempool remove is actually critical for balance stability, as @dgenr8 and @morcos pointed out previously…but for a very subtle reason. When we called SyncTransaction, it was doing a ton of work…just to uncache the balance. Instead, this pull replaces the SyncTransaction call with a new wallet signal, which only provides the transaction hash, making the removed tracking a bit lighter weight.
Also, it explains what is actually happening and adds a python test-case to test it out, instead of it being entirely opaque and marginally fragile.