Is this surprising deadlock reasonable or a MariaDB bug?
A guess...

DELETE without WHERE needs to lock the entire table.  Perhaps that is done via "start through current end", where the 'end' is at 10.  Hence messing with '9' would be problematic.

On the other hand, '11' is off the end, so less ambiguity.

Are you arguing that neither should deadlock?  Or that both should deadlock?

Here's another aspect...  To do everything "correct" in every case would possibly be very complex.  So some shortcuts have been taken.  And your test case pulls out a case where the shortcut led to an inconsistency.

Or is it "right" to have the inconsistency?  One thread is deleting "old" stuff; the other thread is adding "new" stuff.  Think of a queue -- this is exactly what you need.