Result of T5 tokenizer doesn't match
### System Info

transformers: 4.16.2
python: 3.7.11
pytorch: 1.10.0

### Who can help?

@patrickvonplaten

### Information

- [ ] The official example scripts
- [X] My own modified scripts

### Tasks

- [ ] An officially supported task in the `examples` folder (such as GLUE/SQuAD, ...)
- [x] My own task or dataset (give details below)

### Reproduction

```
from transformers import T5Tokenizer, T5ForConditionalGeneration

text = '(CNN)Then-President Donald Trump angrily demanded to go to the US Capitol on January 6, 2021, and berated his protective detail when he didnt get his way.'

tokenizer = T5Tokenizer.from_pretrained('t5-base')

tokenize_result = tokenizer.tokenize(text)

ids_1 = tokenizer(text, max_length=128, truncation=True,
      padding='max_length', return_tensors='np')['input_ids']
ids_2 = tokenizer(tokenize_result, is_split_into_words=True, 
      max_length=128, truncation=True, padding='max_length', return_tensors='np')['input_ids']
ids_3 = tokenizer.convert_tokens_to_ids(tokenize_result)

print(tokenizer.batch_decode(ids_1, skip_special_tokens=True)[0])
# >>> (CNN)Then-President Donald Trump angrily demanded to go to the US Capitol on January 6, 2021, and berated his protective detail when he didnt get his way.

print(tokenizer.batch_decode(ids_2, skip_special_tokens=True)[0])
# >>> ( C NN ) The n - P resident Donald Trump an gri ly demande d to go to the US Capitol on January 6, 20 21, and be rated his protective detail when he didn t get his way.

print(tokenizer.decode(ids_3, skip_special_tokens=True))
# >>> (CNN)Then-President Donald Trump angrily demanded to go to the US Capitol on January 6, 2021, and berated his protective detail when he didnt get his way.
```

### Expected behavior

Three print results should be the same, but when we pre-tokenize with same tokenizer and convert to ids with flag is_split_into_words=True, the tokenizer gives different result.
I think your issue was already resolved here:
https://github.com/huggingface/transformers/issues/8217

In short:

`is_split_into_words=True`

assumes that the input is a list of words, not tokens.
When you input `tokenize_result` to tokenizer with `is_split_into_words=True`, the tokenizer assumes that the tokens are distinct words (very short words). During decoding these tokens are interpeted as words and that's why there are so many additional spaces in the second result.

try replacing
```
ids_2 = tokenizer(tokenize_result, is_split_into_words=True, 
      max_length=128, truncation=True, padding='max_length', return_tensors='np')['input_ids']
```
with
```
ids_2 = tokenizer(text.split(' '), is_split_into_words=True, 
      max_length=128, truncation=True, padding='max_length', return_tensors='np')['input_ids']
```
You'll see that all results will be the same.