The repeated key problem
An array of five hundred objects with six fields repeats those six key strings five hundred times. That is three thousand key repetitions conveying six keys of information, and you pay for every one of them on every request.
CSV states each field name once, in a header row. The larger the array, the more absurd the JSON version looks by comparison — and most people never notice because the serialiser produced it automatically.
Do models read CSV reliably?
For flat tabular data, yes, provided the header row is present and immediately adjacent to the rows. Models parse delimited data without difficulty.
The failure mode is not comprehension, it is quoting. A field containing the delimiter or a newline shifts a column if it is not quoted correctly. This tool quotes properly, but test with your messiest real record rather than a clean sample before shipping the change.
When to keep JSON
Nesting, irregular records and explicit types are what JSON buys you. If records have different fields, contain nested objects, or depend on the difference between the number zero and the string "0", flattening loses information the model may need.
In that case minify the JSON instead — still typically a third cheaper than the indented form.