This has been mentioned multiple time across the forum, e.g. Changing indent level changes order and Un-indenting an item changes its order
I think the conclusion is that the current behavior is standard in an outliner, in the sense that it doesn’t do extra things. In your example, the “extra things” would refer to moving the two "B"s under the “A” that you promoted. These two "B"s were siblings of the “A” that you moved, but after promoting, you suggest that they should become children of the “A”. Although it’s more intuitive for a text editor, taking in the hierarchy into consideration, it’s doing more work than unindenting should.
With that said, I agree what you suggest is useful. The coincidence is that I was working on this today (in fact I just finished when I saw your post). I added a new option that allows unindenting items in-place, which is pretty much what you suggested.
It’s not live yet, but it will be soon. I’ll post an update again when it’s released to the web version.