It depends on whether the request is part of a full page load or a subsequent navigation.
To optimize the initial page load, Next.js will use React's APIs to render a static HTML preview on the server for both Client and Server Components. This means, when the user first visits your application, they will see the content of the page immediately, without having to wait for the client to download, parse, and execute the Client Component JavaScript bundle.
On the server React renders Server Components into a special data format called the React Server Component Payload (RSC Payload), which includes references to Client Components. Next.js uses the RSC Payload and Client Component JavaScript instructions to render HTML for the route on the server.
Then, on the client the HTML is used to immediately show a fast non-interactive initial preview of the route. The React Server Components Payload is used to reconcile the Client and Server Component trees, and update the DOM. The JavaScript instructions are used to hydrate Client Components and make their UI interactive.
On subsequent navigations, Client Components are rendered entirely on the client, without the server-rendered HTML.
This means the Client Component JavaScript bundle is downloaded and parsed. Once the bundle is ready, React will use the RSC Payload to reconcile the Client and Server Component trees, and update the DOM.