& is a character; & is a HTML character entity for that character.
<br> is an element. Elements don’t get character entities.
In contrast to many answers here, \n or are not equivalent to <br>. The former denotes a line break in text documents. The latter is intended to denote a line break in HTML documents and is doing that by virtue of its default CSS:
br:before { content: "\A"; white-space: pre-line }
A textual line break can be rendered as an HTML line break or can be treated as whitespace, depending on the CSS white-space property.