sorry for my English, I'm also a beginner at it, lol.
If you think about componentization, encapsulating everything inside a <div> doesn't seem like something wrong to do. In a broader context, positioning everything based on the body might eventually break your site if you try to add more to it. Positioning everything relative to a <div> simplifies things.
As for using Flexbox for positioning, in my view, it doesn't make a difference whether you use Flexbox, Grid, or Positioning. There's no right or wrong way; it depends on specific situations where one might be better than the others. In general, there’s no correct or incorrect approach.