Systemd is touted as being highly modular. So it should be easy enough to replace the logging module journald.

Why hasn't this been done if it's that terrible?

While the rest of systemd is actually pretty modular, journald is unfortunately the only other required component. You can not run systemd without journald running in some way; closest you can get is setting Storage=none and forwarding the logs elsewhere.

journald is in a weird state where its "good enough" and mandatory that most people forget how bad it is until something like this pops up.

Normally I'm pretty happy with systemd and its many components; I even willingly run systemd-resolved, which is probably the other most hated component. But journald makes a lot of weird choices and if I could drop it I would in a heartbeat.

Because it's a big fat lie

You can trivially configure it to forward logs to another service to manage them.

that's not the point, why ship most common linux distros with an unreliable logging solution by default?

because its everything or nothing with systemd its a monolith wearing a trenchcoat