Reproduced the journalctl behaviour by using sd_journal_previous_skip and sd_journal_next. Apparently it skips some entries when goes backward (from the newest to the oldest entries), but not when goes forward.