Moin,
Kann das jemand versehen oder hat einer eine Lösung?
hier ist es dokumentiert: Mapping .NET types to JSON Types
Eine Lösung hast du schon, die von Microsoft. Eine andere wäre Json.NET.
Alternativ könntest du auch auf DateTime verzichten und stattdessen einen Timestamp nutzen, also Sekunden serialisieren und übertragen. Weiterhin könntest du auch ISerializable implementieren und dabei DateTime anders ausgeben. Es gibt noch mehr Möglichkeiten aber das eigentliche Problem betrifft die Clientseite: wie macht man daraus ein Date-Objekt.
Gruß