Why does WP recommend against custom favicon functionality in themes?

Probably because a thing like a favicon is not necessarily tied to the on-page design, but to the branding of a site in general.

In other words: it’s not specifically part of the “display” of the site. If a theme does choose to implemented it, an ender user might not want it (opt-in only) or they may want to use their own favicon (user-defined) to fit with their branding.