Given the scanty info provided, not sure anyone could tell you.
Typically, one has a clone of production server where upgrades can be tested before upgrading production.
"Critical" ... isn't everyone's moodle the same in that regard?
0 down time ... I don't think is possible.
Is there not a time where there is a break in exam taking? That would be a good time to perform the upgrade.
And, hope you are using
git versioning system for core moodle code maintenance/updates/upgrades.
And a question: what is the compelling reason for upgrading? The 4.2.2 is still supported for fixes to code and security fixes ... that version,
BTW, is now 4.2.6
https://moodledev.io/general/releases/4.2and you might double check your server has what is needed for the destination version:
https://moodledev.io/general/releases/4.3That stuff is core ... you also need to check addons - themes are addons - as well as those API's you mentioned if not part of core. Anything custom?
Do know the old assignment (2.2) if still present will block the upgrade.
That mod needs to be removed before the upgrade atttempt.
And, as a matter of good practice, make a site backup before attempting upgrade.
'SoS', Ken