I noticed that several threads with a similar topic were opened, so let me summarize the case.
This checkedChange event is fired when the user selects a TreeView node checkbox and as Georgi and Hetali shared here, it's still emitted before the checkedKeys collection is being updated. This can be seen with the following screencast:
Starting with unchecked TreeView items, we can notice that checking a node, fires the checkedChange event and in its handler the checkedKeys collection is empty.
In order to have the updated keys on every checked/unchecked node, the developer can utilize checkedKeysChange event. It is emitted each time when the checkedKeys collection was updated.
This allows updating the checked array indexes following the project requirements.
Another approach that could be taken is to create custom checkboxes, using a node template. Refer to ticket 1498605.
I hope this sheds some light.
Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.