I know about variable and command substitution and escaping, it makes sense that those expand inside " but not ' - but history expansion, something seemingly inherent to the interactive REPL, seems out of place here.
Besides, you'd expect variables to be expanded inside normal strings -- why special-case the other expansions?
Seems pretty consistent to me.