No, upgrader isn't a chainloader as far as I understand them. The AVR memory is laid out as interrupt vector table, user program, then right at the end, bootloader. When the digispark starts up it starts at the reset vector which jumps to the bootloader at the end. The bootloader does some stuff and eventually jumps back to the user program so it can run. Upgrader works by uploading a program in to the user area like any other digispark upload, but inside that program is a copy of a new bootloader, and when it runs it first rewrites the interrupt vector table so in the future the chip just runs straight in to the upgrader program. Next, it erases and overwrites the existing bootloader at the end of progmem with the new version. Finally it rewrites the interrupt vector table to point to the new bootloader, and then makes a beeping sound if you have a speaker attached, and then jumps to reset, launching the new bootloader. To the user it looks like the upload the hex file, and about half a second later the bootloader comes back online but is a new version. It doesn't use any extra flash memory to use upgrader instead of a HVSP device or similar.
Also, it sounds like you might just want the jumper firmware! This has already been made! The jumper firmware gets rid of the few seconds delay on startup and instead sets d5 to be an input, turns on the internal pullup, waits about 10 milliseconds, then checks if d5 is high or low. If it is high, the bootloader jumps in to the user program a few instructions later. If it is low, it enters the bootloader without a timeout, and stays in the bootloader until the host computer tells it to run the user program at the end of an upload (using the --run option, which digispark arduino app does use). It is called jumper because the typical use is either a button or a wire you connect from d5 to ground, and you connect it before plugging in the device only when you want to do a software update. If your project already needs a button for something, connect it through d5 (that pin isn't useful for much else anyway) and you get the feature for free pretty much!
There's more information on the jumper bootloader at
http://digistump.com/board/index.php/topic,320.0.html and you can grab the latest version of -jumper from
https://github.com/Bluebie/micronucleus-t85/tree/master/upgrade/releases - grab the 1.06-jumper-v2 release. If by the time you read this there are versions numbered higher than 1.06 you should probably use those instead!