I'm sure there is some engine-based reasoning for why this is, but its rather irrelevant to the fact that we can't change it, as profoundly irritating as it is.
1. They teleport you to another door (or another persistent object). Internally, this uses a script. 2. They can be locked/unlocked by scripts (like a vender's shop door) and/or your game needs to keep track of its locked/unlocked status.