TF: properly handle kwargs in encoder_decoder architectures
# What does this PR do?

Fixes #16400 

Our `input_processing` function is very strict and raises an exception if unexpected kwargs are passed. In the issue linked above, it was found that an exception was being raised and, upon further inspection, we can see that some arguments were being passed in the wrong place.

There were no tests for it (i.e. no `encoder_decoder` calls with `kwargs`), so it slipped under the cracks. This PR also adds tests for it. The updated tests were all failing before the corresponding fix.
_The documentation is not available anymore as the PR was closed or merged._