How do I change the controls (controller layout) for the CPU players in training mode?
Solution 1:
Unfortunately, this is not possible
Custom controls are tied to names in Smash Ultimate. You can setup custom controls for a name and when you select that name, your controls will be mapped accordingly.
However, you cannot select a name for the training mode CPU, which, as you've seen, means you're kicked into the default controls.
Ultimate, unlike every other smash game, does allow you to set the controls for a player with no name (or the "default controls"). When I read this question, I thought that'd be your solution. However, even after setting up the no-name controls, training mode CPU control still reverts to the system default.
Some alternatives for training...
Usually, control in training mode is there for a friend to quickly get into position or jump a certain way so you can test something as the first player (which is why I'd guess they didn't bother letting you setup controls).
If you want finer control over what the CPU's do and you're willing to do some work to get there, I'd recommend looking into one of the many "training mods" (like this one https://github.com/captainl/training-arduino). This is what I've seen a lot of pros using. It requires an arduino to fake controller inputs, but will let you record sequences or constantly DI in specific ways.
It's a bummer, but this seems to be the best option for training mode at the moment. The training mode feature has always been sorely lacking in Smash games.