The default Storage setting in journald.conf is 'auto', which means the journal is persisted to /var/log/journal if that directory exists and otherwise kept only in /run/log/journal, a tmpfs that is discarded on reboot. Several distributions do not create the directory, so investigating a crash after a restart shows only the current boot and 'journalctl --list-boots' lists one entry.
Enable persistence by creating the directory and letting systemd set the ownership and ACLs: 'mkdir -p /var/log/journal' then 'systemd-tmpfiles --create --prefix /var/log/journal' then 'systemctl restart systemd-journald'. Setting Storage=persistent in journald.conf achieves the same and creates the directory itself.
Size is capped separately. SystemMaxUse defaults to 10 percent of the filesystem, bounded to at most 4 gigabytes, and the oldest entries are rotated away, so a chatty service can push out the records you need within hours. Check current usage with 'journalctl --disk-usage' and trim with 'journalctl --vacuum-time=7d' or '--vacuum-size=1G'. Rate limiting is also on by default and drops messages with a 'Suppressed N messages' note.