I actually ran into this myself when I was testing my C program for UTF-8 support. Ended up just installing noto CJK but I wondered why there wasn’t a universal font I could use. Now I’m wondering why I can’t just fuse a font that has cjk chats to a font that has Latin ones.
There's a Unicode quirk/mistake called Han Unification that similar CJK letters, not always close enough, are assigned same code points. As the result, each of CJK languages(Chinese, Hong Kong/Taiwan Chinese, Korean, Japanese, Vietnamese ...) has to be displayed in its own fonts.
It must have been much less of issue when UTF-8 specs were formalized in early 90s, as memory was expensive, and electronic communications between CJK cultures were minimal; computers just had to have the correct font for a single specific language, and others didn't even need to render, let alone correctly. Being able to display similar letters outside of a specific language must have been a bonus.
Today it's a much pronounced annoyance as software is globally distributed, but until the Unicode Consortium figures out how to normalize this CJK situation, the font switching hack has to go on and there just can't be a single font that could render everything.