It’s a bug, the DisplayRange is updated when clicking on the navigation buttons only. It should be updated when the SelectionRange change causes the MonthCalendar to navigate to a different month too. It’s WJ-8078.
The MonthCalendar will automatically navigate to the first month of the selection range if it’s out of range. Initially it displays the range using the Today property. Changing the range programmatically will simply cause the calendar to navigate back to the range that can show the selection.