**Describe what's wrong**
Inconsistent result for subselect having ORDER BY WITH FILL when select is also ordered.

**Does it reproduce on recent release?**
yes

**How to reproduce**
```
SELECT x, s FROM (
    SELECT 5 AS x, 'Hello' AS s ORDER BY x WITH FILL FROM 1 TO 10
);
┌─x─┬─s─────┐
│ 1 │       │
│ 2 │       │
│ 3 │       │
│ 4 │       │
│ 5 │ Hello │
└───┴───────┘
┌─x─┬─s─┐
│ 6 │   │
│ 7 │   │
│ 8 │   │
│ 9 │   │
└───┴───┘

SELECT x, s FROM (
    SELECT 5 AS x, 'Hello' AS s ORDER BY x WITH FILL FROM 1 TO 10
) ORDER BY s;
┌─x─┬─s─────┐
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │       │
│ 5 │ Hello │
└───┴───────┘
```

**Expected behavior**
`x` column should preserve values.
#include <Interpreters/ActionsDAG.h>
#include <Processors/QueryPlan/ExpressionStep.h>
#include <Processors/QueryPlan/Optimizations/Optimizations.h>
#include <Processors/QueryPlan/SortingStep.h>
#include <Common/Exception.h>
namespace DB
{
namespace ErrorCodes
{
    extern const int LOGICAL_ERROR;
}
}
namespace
{
const DB::DataStream & getChildOutputStream(DB::QueryPlan::Node & node)