One of the primary differences between CPU and amiibo AI is that amiibo can’t be taught as easily. Due to the fact that they have to be recompressed down to 540 bytes after each save, the game likely has to take some shortcuts when scanning in an amiibo’s AI to the game. That’s why amiibo have some AI quirks like the Ganondorf amiibo preferring his uptilt when the CPU doesn’t exhibit such behavior: when trying to interpret the amiibo’s current state, it has to take some shortcuts to make sure the move inputs can be written properly to the amiibo.
However, we can confidently say that amiibo absolutely save in the format that they do because of one specific experiment: brain transplants. You’ll notice that if you transplant an amiibo with a specific move preference, the result uses the same input for that move. So if you have a Sheik who loves neutral special Needles, and you transplant him into a Ganondorf, the Ganondorf will use his neutral special, even though it’s a completely different move. Thus, amiibo data is at least coded to be set according to input code, not the inputs itself. Pokemon Trainer doesn’t have 540 x 3 bytes to save for each Pokemon, each Pokemon has to share the same 540 bytes, resulting in each character using some of the same inputs.