Where the files go
Astro copies public/ to the root of the build unchanged, so public/favicon.ico answers at /favicon.ico. Put every file from the zip there, except favicon-setup.md.
The layout snippet
Paste this inside <head> in the layout every page uses, such as src/layouts/Layout.astro:
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon-96x96.png" type="image/png" sizes="96x96">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/manifest.webmanifest">Starter templates ship a favicon.svg and link it in the layout. Remove that line, or the old icon competes with the new ones.
Several layouts
If your site has more than one layout, move the snippet into a small component, such as src/components/Favicons.astro, and include it in each <head>. A page that misses the tags still gets /favicon.ico from browsers that request it, but no SVG, Apple or PWA icons.
Static and server output
The setup is the same whether Astro builds static files or runs with an adapter. public/ is served as-is in both cases.
Questions
Should favicons go in public/ or src/assets/?
In public/. Files in src/assets/ are processed and renamed, which breaks the fixed paths favicons rely on.
Why do I still see the Astro logo in the tab?
The starter favicon.svg link is still in your layout, or the browser cached it. Remove the old line and hard-reload.
Does Astro need a web manifest?
Only if you want the site to be installable. Otherwise drop the manifest line and the PWA icons.