Si tratta di un comportamento completamente specificato e conforme agli standard, definito dalla specifica CommonMark § 4.6 — Blocchi HTML.
La regola fondamentale è il tipo di blocco HTML 6. La specifica CommonMark elenca esplicitamente div (insieme a p, blockquote, table, h1–h6, ul, ol, li, hr, ecc.) come tag a livello di blocco. Quando il parser incontra una riga che inizia con uno di questi tag, apre un blocco HTML con la seguente condizione di chiusura:
Condizione di chiusura: la riga è seguita da una riga vuota.
Gli altri tuoi esempi sono elementi inline e si comportano in modo diverso.