**Describe the bug**
When the requests are done in a very specific environment, they got an error from ClickHouse. The partially it was fixed in https://github.com/ClickHouse/ClickHouse/pull/21936

**Does it reproduce on recent release?**
It's reproducible with docker image `yandex/clickhouse-server:latest` having digest `sha256:d359e6cff39486d2563cd16a307e0981ea6150760d7589b35e0e76ee7ba889ce`

**How to reproduce**
The very precise case for reproduction is present in https://github.com/Felixoid/ch-forms-issue

**Expected behavior**
The requests should work
#include <IO/PeekableReadBuffer.h>
namespace DB
{
namespace ErrorCodes
{
    extern const int LOGICAL_ERROR;
}
PeekableReadBuffer::PeekableReadBuffer(ReadBuffer & sub_buf_, size_t start_size_ )
        : BufferWithOwnMemory(start_size_), sub_buf(sub_buf_)
{
    padded &= sub_buf.isPadded();
    
    Buffer & sub_working = sub_buf.buffer();
    BufferBase::set(sub_working.begin(), sub_working.size(), sub_buf.offset());
    checkStateCorrect();
}
void PeekableReadBuffer::reset()
{
    checkStateCorrect();
    peeked_size = 0;
    checkpoint = std::nullopt;
    checkpoint_in_own_memory = false;
    if (!currentlyReadFromOwnMemory())
        sub_buf.position() = pos;
    Buffer & sub_working = sub_buf.buffer();
    BufferBase::set(sub_working.begin(), sub_working.size(), sub_buf.offset());
    checkStateCorrect();
}
bool PeekableReadBuffer::peekNext()