If anything you'd probably want to send it in Arrow[1] format. CSV's don't even preserve data types.
anyone who disagrees I’d be very interested to hear your thoughts on alternatives.
Are data types useful for data to/fro web/mobile clients? Encode type into the column header?
Many parquet supporting libs will load Parquet files into an Arrow structure in memory for example.