It occurred to me about 5 seconds after posting this that the combination of Defer Updates and a Bidirectional tag binding would cause the tag to update each time I type a character and would position the cursor at the beginning of the string instead of at the end. This would create the effect of typing backwards.
I'll leave this post up in case someone else is confused by this behavior in the future.