<body>
<h1>Hello World!</h1>
<script src="sketch.js"></script>
<p>I should be under the sketch</p>
</body>

(it is not under the sketch)
How does this exactly work?
<body>
<h1>Hello World!</h1>
<script src="sketch.js"></script>
<p>I should be under the sketch</p>
</body>

(it is not under the sketch)
How does this exactly work?
Anything inside an HTML doc is processed before p5js is started and its main <canvas> created. 
If you want a <p> tag after p5jsâ <canvas>, use p5::createP(): 
p5js.org/reference/#/p5/createP