Fix Trainer with a parallel model
# What does this PR do?

The test introduced in #9566 wasn't actually working as the default batch size is 8, not 16...
So the problem was still there, the reason because `_setup_devices` in `TrainingArguments` is a `cached_property`, so its result is computed once and for all at init. Had to change the behavior slightly, but it should be okay since it's a private method.

Fixes #9577 (model is getting wrapped into DataParallel because the value of `self.args.n_gpu` is not updated.