Thanks for that. I solved the issue of appending the Z by adding the following to my startup.cs:
jsonFormatter.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc;
This sends back a string of the date which is normal for json but the timepicker doesnt display the value unless I do a kendo.parseDate(). I thought this strange so I tried a date picker and it did display the date. Why would the datepicker display accurately and the timepicker not display anything?
I think this is an issue with the timepicker. Since api's generally return json (string) data it would be nice if the date/time controls attempted to parse the string without having to manually transform them. The datepicker seems to do it however the timepicker not.