The linked demo uses ColumnWidth so the widths are set. We will need to reproduce the problem in order to troubleshoot. What is the minimal grid declaration which shows this issue?
I made a test app to reproduce. The bug happens when you set the column's width to a value in the columns editor.
If you set them to a direct value such as 100px for example, when you resize any column they will look off when being dragged, will have some arbitrary width and jump around the grid.
If you set them to a percentage such as 50%, which was used in the images below, dragging will work as expected but again, paging will try and reset them every time.
The images below show all the things I did in the app after creating it.
Another thing to mention is that after the ColumnWidth property was introduced in DataGrid, it's not clear which width should be used. Is it the one set in each column or this global width?