New sequence header and new op param info event flags are not signaled if the picture that triggered them is never output
If the first frame in coding order after a sequence header is parsed is not visible and never output using the show_existing_frame mechanism, then the picture flag New Sequence Header attached to it is never used to signal the event flag New Sequence Header.
The very first frame in the attached sample is a key frame with show_frame == 0 and showable_frame == 1 (A delayed random access point). The first frame dav1d outputs is an inter frame that comes after it. This wouldn't be that much of a problem if the relevant key frame dependent recovery point showed up at some point, where the frame flag would then be used to signal the relevant event flag, but in this sample said key frame dependent recovery point is not present at all.
The dav1d CLI has no issue reading the sample, as would anything ignoring the event flags. But the most recent version of the ffmpeg wrapper does look at the event flags in order to attempt to parse the sequence header or not (to avoid the overhead of doing it for every frame), and as such things go south.
The sample was apparently created with aomenc using the --enable-keyframe-filtering=2 option.
KF2.ivf (ffmpeg makes up extradata out of this sample, so the sequence header is parsed from there, and decoding works) KF2.mkv (ffmpeg does not make up extradata out of this sample since it's present in the Matroska CodecPrivate element, but since it contains no OBUs, nothing is parsed and decoding fails).