Timedelta in to_json object array and ISO dates not handled properly
Intertwined with #15137 though a slight different issue.

`date_format="iso"` has different behavior for Timedeltas depending on whether or not the Timedelta is in a DTA or an object array. To illustrate:

```python
# Wrong format ref 15137, but at least tries to do some formatting
>>> pd.DataFrame([[pd.Timedelta("1D")]]).to_json(date_format="iso")
'{"0":{"0":"1970-01-02T00:00:00.000Z"}}'

# Object array has no formatting
>>> pd.DataFrame([[pd.Timedelta("1D")]]).astype(object).to_json(date_format="iso")
'{"0":{"0":86400000}}'
```

By contrast the same issue does not appear with datetimes
```python
>>> pd.DataFrame([[pd.Timestamp(1)]]).to_json(date_format="iso")
'{"0":{"0":"1970-01-01T00:00:00.000Z"}}'

# Below still formats as iso in spite of being object array
>>> pd.DataFrame([[pd.Timestamp(1)]]).astype(object).to_json(date_format="iso")
'{"0":{"0":"1970-01-01T00:00:00.000Z"}}'
```