Very misleading article. The 4004 isn't running Linux. You need at least a 386 for that. What it's doing is running an emulator (and for more than just the claimed C compiler support) that's running Linux.
This is akin to other tricks we've seen, where people run some heavy-weight OS on something like the Raspberry Pi Pico, also inside of an emulator. These simple processors lack the sophisticated hardware features needed to run a complex OS. The only way you can do it is by having it emulate a much more capable CPU.
That obviously comes at the expense of a lot of additional performance, which is how we end up with the astonishingly bad execution times quoted in this article.
I'm sure they also had to use some sort of hack for giving it access to enough memory that it could run an OS like Linux. That's going to come at an additional performance hit, since it's likely making an I/O request per each memory read/write, each of which must be broken into multiple steps for the entire 32-bit address to be written out. Keep in mind that a simple, ancient CPU like the 4004 had no caches, either.
No, not that flexible!