Most Astro projects route every page through a shared layout component, which makes tracking a one-file change: add the script to that layout's <head>, and every page that uses it picks up tracking automatically.
Both — whether Astro renders a page at build time (static) or per-request (SSR via an adapter), the <head> content in your layout component is included the same way.
No — client: directives are for hydrating Astro's own component islands. A plain <script> tag in the head is static HTML and needs no hydration directive.
No — the script tag isn't an Astro component and isn't part of the islands architecture, so it loads independently of whichever components on the page are or aren't hydrated.
Add the script to each layout actually used to render a page, or have all of them extend one base layout that includes it once.