Are child elements of HTML's <body> even necessary? Can I just have my text be a direct descendant of the body tag, no ps, no divs?
HTML is quite permissive with the removal of tags in source code
(summarized here),
with the existence of tags implied by the presence of other tags,
and their position being constrained by those other tags, and so on,
so that in the DOM the document ends up having all of the usual <head> and <body> elements,
as shown by the browser toolbox's inspector.
The first webpages on the internet were a lot like this, just tag soup (in a more metaphorical sense, not the technical sense), bare text with a few tags in between for hyperlinks. (Original spec.) They did use the <p> tag, but it was used as a paragraph separator, not container.
HTML email is a lot like this still, that world is a complete mess.
// some thoughts, march 2022.