Basically if you are using initial server binding (passing the collection to the Chart() constructor you cannot intercept with the requestEnd event and shift the dates.
This is why you need to use Ajax binding and use the same approach as the one shown in the Grid demo. The only difference is that the response from the server is slightly different.
To demonstrate all of this I modified the demo project according to your code.
You can compare your kind of binding and the ajax binding I added with the requestEnd handling function.
I hope this helps.
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI