It's the same reason that most React apps start with ReactDOM.render(<App />, document.getElementById('app')) instead of ReactDOM.render(<App />, document.body).
IIRC there were many tutorials in the early days of React that mentioned this.
I’d count that as largely unrelated. This is purely a performance optimisation, whereas mounting to an element other than the body is so that you can be somewhat more confident about the DOM inside your chosen root being in the shape you desire, since it’s common for third-party scripts, browser extensions and the likes to add children to the body (start or end), which can mess with VDOM resolution.
That is typically done because some browser extensions and older JS libraries will append elements to the <body>, react would destroy these when rendering.
IIRC there were many tutorials in the early days of React that mentioned this.