**Describe the issue**
Can't insert `String` data to column with `LowCardinality` type.

Starting from 21.1 this query fails

**How to reproduce**
```sql
CREATE TABLE default.lc_test
(   
    `id` LowCardinality(String)
)
ENGINE = MergeTree
PARTITION BY tuple()
ORDER BY id;

Ok.
0 rows in set. Elapsed: 0.003 sec.


insert into lc_test values (toString('a'));
Exception on client:
Code: 49. DB::Exception: Bad cast from type DB::ColumnString to DB::ColumnLowCardinality: data for INSERT was parsed from query

```

**Additional context**
related to issue https://github.com/DarkWanderer/ClickHouse.Client/issues/66

version 20.12 ok
if (format_settings.null_as_default)
        {
            type.insertDefaultInto(column);
            return false;
        }
        buf.rollbackToCheckpoint();
        throw Exception{"Cannot insert NULL value into a column of type '" + type.getName() + "'"
                        + " at: " +
                        String(buf.position(), std::min(SHOW_CHARS_ON_SYNTAX_ERROR, buf.buffer().end() - buf.position())),
                        ErrorCodes::TYPE_MISMATCH};
    }
    column.insert(value);
    return true;
}
bool ValuesBlockInputFormat::skipToNextRow(size_t min_chunk_bytes, int balance)
{
    skipWhitespaceIfAny(buf);
    if (buf.eof() || *buf.position() == ';')
        return false;
    bool quoted = false;
    size_t chunk_begin_buf_count = buf.count();
    while (!buf.eof() && (balance || buf.count() - chunk_begin_buf_count < min_chunk_bytes))
    {
        buf.position() = find_first_symbols<'\\', '\'', ')', '('>(buf.position(), buf.buffer().end());
        if (buf.position() == buf.buffer().end())
            continue;
        if (*buf.position() == '\\')
        {
            ++buf.position();
            if (!buf.eof())