Mixin are not applied in predictable module order
Pool.setup_mixin
is called in trytond.modules
using a set containing the modules. So the order is random.
Indeed it should use the registration order following the dependencies in the case that a mixin depends on another mixin.
Also there is no real point to pass the list of modules as it should always setup the mixin from all filled modules.