**Describe the bug**
Imagine that we have a table with old non-adaptive parts (.mrk extension) and enabled mixed granularity in the server's config in section (`<enable_mixed_granularity_parts>1<enable_mixed_granularity_parts>`) or using `ALTER SETTING` query. 
In this case, when we execute `ALTER DELETE` mutation (actually use `MergedBlockOutputStream`) we will take information about index granularity from our source part https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/MergeTreeDataMergerMutator.cpp#L1066-L1067, and mark file extension will be the same as in source part https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/MergeTreeDataPartWide.cpp#L65 `.mrk` for the old part. But on the other hand, in the stream settings, we will write index granularity using information from storage https://github.com/ClickHouse/ClickHouse/blob/master/src/Storages/MergeTree/MergedBlockOutputStream.cpp#L49 which will be set to `true`. So we will get part with `.mrk` extension and adaptive granularity which server will not be able to read and mark as broken.

Broken since #8290.
MergeTreeData::MutableDataPartPtr & new_part,
        const NamesAndTypesList * total_columns_list,
        MergeTreeData::DataPart::Checksums * additional_column_checksums)
{
    
    MergeTreeData::DataPart::Checksums checksums;
    if (additional_column_checksums)
        checksums = std::move(*additional_column_checksums);
    
    writer->finishDataSerialization(checksums);
    writer->finishPrimaryIndexSerialization(checksums);
    writer->finishSkipIndicesSerialization(checksums);
    NamesAndTypesList part_columns;
    if (!total_columns_list)
        part_columns = columns_list;
    else
        part_columns = *total_columns_list;
    if (new_part->isStoredOnDisk())
        finalizePartOnDisk(new_part, part_columns, checksums);
    new_part->setColumns(part_columns);
    new_part->rows_count = rows_count;
    new_part->modification_time = time(nullptr);
    new_part->index = writer->releaseIndexColumns();
    new_part->checksums = checksums;
    new_part->setBytesOnDisk(checksums.getTotalSizeOnDisk());
    new_part->index_granularity = writer->getIndexGranularity();
    new_part->calculateColumnsSizesOnDisk();
}
void MergedBlockOutputStream::finalizePartOnDisk(