So @GeorgeMR look at it this way.
The way you are creating your sequence training data is incorrect for your expected output.

data.reshape(11,5,3)

What this does is equivalent to creating 11 batches with 5 sequences in each batch, each sequence of length 3. If you look at the individual sequence in your training data, you always have a sequence like the ones below:
[1,2,3]
[20,21,22]
[401,402,403] and so on.
You never encounter a sequence in your training data like the ones below:
[21,22,30]
[1022,1030,1031] and so on.
This is happening because you are splitting your sequence of (length 15) into 5 subsequences of (length 3) which does not represent the whole original (length 15) sequence. The smaller (length 3) is missing out to include the seasonality in the longer sequence.
You need to use the sliding window approach as mentioned by @Jean (Time series forecasting  |  TensorFlow Core 11) to preprocess your sequence and generate the training data. Hope this helps!