Short story: You can't; SFML doesn't support coloured fonts. However there is a monochrome version of the noto emoji font which might work:
https://fonts.google.com/noto/specimen/Noto+EmojiLong story: I've been through this experience recently with
my own engine, which uses SFML fonts/text/string as a basis for text renderering. Here's a brief summary of what I've found:
As you point out one font won't contain all the emojis and text characters. You need to use multiple fonts with multiple strings/text which can make it difficult to mix emojis with text in SFML. DearImGui takes an interesting approach which allows assigning multiple fonts to different ranges of unicode - you can
read about it here.
I used this approach to modify what was essentially SFML's font class to allow
loading multiple ttf files into a single Font, mapping them to different character ranges. This would be a nice feature, I think, to add to SFML.
SFML's fonts don't support colour - however they *could* if the way the underlying freetype library is used was changed slightly. Again, this would be a nice addition to SFML. *HOWEVER* that being said, while this will apparently work with Windows built in emoji font (C:/Windows/Fonts/seguiemj.ttf - license forbids redistribution) it still doesn't work with the colour format used by Google's Noto colour font
To print emojis with sf::String is relatively easy, though you will probably have to use codepoints directly, rather than string literals
sf::String str(u8"🌙");
This might work for single codepoint emojis, but for multi-point emojis you'll need to combine them yourself:
sf::String str(0x2600);
str += sf::String(0xFE0F);
Emojipedia is a good reference source - the technical tab will list any codepoints you need to combine.
HTH