Unfortunately the blogposts do not very well cover the actual process of flashing the new firmware to the device and what kind of hardware is required.
So far I understood that either I need a Ruuvi Dev Shield or that I can somehow connect a cable directly to the Ruuvi Tag.
Is there any blogpost or howto that describes the actual process of flashing a custom firmware to the Ruuvi Tag and what is needed hardware wise?
Our RuuviLab article has the hardware connection information: RuuviLab | DevShield User Manual
You can also use Tag-Connect cables for the SWD connection for wired programming and debugging, but in practice having the target board zip-tied in place is very helpful.
On firmware side, we have a article about the general principles how creating a binary and DFU package, although it is a few years old so some details such as soft device version is out of date.