When you run the upgrade this will need to upgrade both the rules and data schemas. For me it normally takes longer to upgrade the rules schema.
For an in-place upgrade this will upgrade both rules and data in a single run.
If your goal is to get to the upgraded version as quickly as possible regardless of downtime, then this might be the preferred option.
For an out-of-place upgrade, this involves more steps as you would need to ensure your in a code freeze, then migrate the rules to a new schema. Then upgrade the rules to the new version. Then separately upgrade the data.
However, although this is more involved the advantage is you can upgrade the rules with users still running on the original system. So the downtime would only be when you were performing the data upgrade, and re-tuning your system to use the new rules schema (or migrating it back).
If your goal is to minimize downtime, despite the additional steps, this might be preferable.
Personally I'd opt to use the out-of-place even with lower environments, as you'll be able to iron out/reuse the technique in preparation for upgrades of higher systems (such as Production).