Welcome to interrupt @tobermory, and sorry I missed your previous questionn.
In order to update the Loader, you first have to update the application to replace it with the Updater. This is a standard software update which replaces the Application in slot 2. So the Updater does not have to be stored anywhere, it gets pushed via OTA. Do you understand?
You’re right, there’s only a Bootloader, and App Loader, and an Application in the example code. I did not implement the Updater (which updates the App Loader).
The Updater is simple: it gets loaded by the Loader, and waits for an OTA image. It writes that image in Slot 1, marks signals via shared memory that the loader should go into DFU mode for the next boot, and reboots the device.