**Describe what's wrong**

When adding new values to IN operator with tuples, result set is reduced.

<br class="Apple-interchange-newline">

**Does it reproduce on recent release?**

Probably not working since v22.4.2.1-stable
Still not working on v22.7.1.2484-stable

<br class="Apple-interchange-newline">

**How to reproduce**


```
CREATE TABLE ISSUE_EXAMPLE
(
    `THIRDPARTY_ID` String,
    `THIRDPARTY_USER_ID` String,
    `PLATFORM` LowCardinality(String),
    `DATE` Date
)
ENGINE = MergeTree()
PARTITION BY toYYYYMM(DATE)
ORDER BY (PLATFORM, THIRDPARTY_USER_ID, THIRDPARTY_ID)
SETTINGS storage_policy = 'nvme', index_granularity = 2048
```

```
INSERT INTO ISSUE_EXAMPLE VALUES ('17843212264024828', 238040827, 'insta', '2014-07-30'), ('17862693304001575', 238040827, 'insta', '2016-07-09')
```

```
SELECT *
FROM ISSUE_EXAMPLE
WHERE (PLATFORM, THIRDPARTY_USER_ID) IN (('insta', '238040827'))
```
That query returns 2 rows

```
SELECT *
FROM ISSUE_EXAMPLE
WHERE (PLATFORM, THIRDPARTY_USER_ID) IN (('insta', '238040827'), ('insta', '22606518861'))
```
That query returns 0 rows instead of 2. Adding new value to IN should not reduce result set. 
{
    return removeNullable(recursiveRemoveLowCardinality(data_types[set_type_idx]))->equals(*removeNullable(recursiveRemoveLowCardinality(other_type)));
}
void Set::checkTypesEqual(size_t set_type_idx, const DataTypePtr & other_type) const
{
    if (!this->areTypesEqual(set_type_idx, other_type))
        throw Exception("Types of column " + toString(set_type_idx + 1) + " in section IN don't match: "
                        + other_type->getName() + " on the left, "
                        + data_types[set_type_idx]->getName() + " on the right", ErrorCodes::TYPE_MISMATCH);
}
MergeTreeSetIndex::MergeTreeSetIndex(const Columns & set_elements, std::vector<KeyTuplePositionMapping> && indexes_mapping_)
    : has_all_keys(set_elements.size() == indexes_mapping_.size()), indexes_mapping(std::move(indexes_mapping_))
{
    ::sort(indexes_mapping.begin(), indexes_mapping.end(),
        [](const KeyTuplePositionMapping & l, const KeyTuplePositionMapping & r)
        {
            return std::tie(l.key_index, l.tuple_index) < std::tie(r.key_index, r.tuple_index);
        });
    indexes_mapping.erase(std::unique(
        indexes_mapping.begin(), indexes_mapping.end(),
        [](const KeyTuplePositionMapping & l, const KeyTuplePositionMapping & r)
        {
            return l.key_index == r.key_index;
        }), indexes_mapping.end());
    size_t tuple_size = indexes_mapping.size();
    ordered_set.resize(tuple_size);