Answer
What does theme_color do in a manifest?
The manifest’s theme_color field sets the colour of the browser’s toolbar (in a regular tab) and the title bar / task-switcher header for an installed standalone PWA, giving the app a branded look instead of the browser’s default grey or white. It can be overridden per-page with <meta name="theme-color" content="#hex">, which takes precedence over the manifest value while that page is open.
Where it appears
Android Chrome’s address bar area in a tab, and the title bar of an installed standalone or minimal-ui PWA on both mobile and desktop.
Per-page override
A page-level <meta name="theme-color"> tag lets different sections of a site use different toolbar colours dynamically, including matching prefers-color-scheme with the media attribute.
Relation to background_color
theme_color styles the UI chrome; background_color is used only for the generated splash screen behind the app while it loads.