**Describe what's wrong**

Get data from #29693.

```
ALTER TABLE hackernews
    ADD COLUMN words Array(LowCardinality(String))
    DEFAULT arraySort(
              arrayDistinct(
                extractAll(
                  lower(
                    decodeXMLComponent(
                      extractTextFromHTML(text))),
                  '\w+')));

ALTER TABLE hackernews MATERIALIZE COLUMN words;

ALTER TABLE hackernews ADD INDEX words_bf (words) TYPE bloom_filter(0.01) GRANULARITY 1;

ALTER TABLE hackernews MATERIALIZE INDEX words_bf;

SELECT * FROM system.merges \G;

...

SELECT count() FROM hackernews WHERE has(words, 'clickhouse');

Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Got empty stream for SerializationLowCardinality keys.: (while reading column words): (while reading from part /var/lib/clickhouse/store/f43/f4347434-b836-44ba-b434-7434b836f4ba/all_1_2874_5_2884/ from mark 46 with max_rows_to_read = 8192): While executing MergeTreeThread. (LOGICAL_ERROR)
```


**Does it reproduce on recent release?**

master.
{
                        function = makeASTFunction("validateNestedArraySizes",
                            condition,
                            update_expr->clone(),
                            std::make_shared<ASTIdentifier>(column));
                        condition = makeASTFunction("and", condition, function);
                    }
                    else if (nested_update_exprs->size() > 1)
                    {
                        function = std::make_shared<ASTFunction>();
                        function->name = "validateNestedArraySizes";
                        function->arguments = std::make_shared<ASTExpressionList>();
                        function->children.push_back(function->arguments);
                        function->arguments->children.push_back(condition);
                        for (const auto & it : *nested_update_exprs)
                            function->arguments->children.push_back(it->clone());
                        condition = makeASTFunction("and", condition, function);
                    }
                }
                auto updated_column = makeASTFunction("_CAST",
                    makeASTFunction("if",
                        condition,
                        makeASTFunction("_CAST",
                            update_expr->clone(),
                            type_literal),
                        std::make_shared<ASTIdentifier>(column)),
                    type_literal);
                stages.back().column_to_updated.emplace(column, updated_column);
            }
            if (!affected_materialized.empty())