Technically, flag emojis are just two codepoints that encode two Latin letters. They are the “regional indicator symbols”[0]. This solves the problem of countries coming and going, and leaves the job of implementing them all to the font designer (through ligatures), not Unicode.
For example, the US flag is composed(?) as U+1F1FA U+1F1F8 (REGIONAL INDICATOR SYMBOL LETTER U) and U+1F1F8 (REGIONAL INDICATOR SYMBOL LETTER S).
It can get even crazier with “emoji tags”[1]. Say you want to encode the flag for California, US. You’d think it’d be done using those regional indicators as “CA”, but that’s actually Canada. The way to do it is: U+1F3F4 U+E0075 U+E0073 U+E0063 U+E0061 U+E007F. This encodes a black emoji flag, “USCa” in tag characters, and a “tag cancel” code point.
Basically, if your font has symbols for countries that don’t exist yet, or are missing some, that’s on the font designer, not Unicode.
[0]: https://en.wikipedia.org/wiki/Regional_indicator_symbol
[1]: https://en.wikipedia.org/wiki/Tags_(Unicode_block)