Как поменять формат вывода json?
Попробуйте использовать опцию JSON_FORCE_OBJECT в функции json_encode.
https://www.php.net/manual/ru/json.constants.php
Добавлено:
Ну, тогда item-ы кодируйте стандартной функцией, а сборку массива делайте кастомную:
$imported_items[] = json_encode($product, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_FORCE_OBJECT);
...
$preview_items[] =  json_encode($preview_product, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_FORCE_OBJECT);
...
file_put_contents(sprintf(IMPORT_FILE, $id), '['.join(',', $imported_items).']');
file_put_contents(sprintf(PREVIEW_FILE, $id), '['.join(',', $preview_items).']');
$product["$i"] = $line[$i]; и $preview_product["$i"] = $line[$i]; ???