It seems that, whenever I reposition my typing cursor with my mouse, the SelectionStart property will jump to the same position as CursorPosition for a split second before changing back to the default -1. Here’s a short video showing the repro code, Explorer hierarchy, and demonstration of the bug.
This is kind of annoying, because I made a SelectionChanged module that now double-fires whenever the cursor is repositioned, and I can’t really work around it without doing some janky stuff.