### Website or app

https://codesandbox.io/s/react-playground-forked-j4niq

### Repro steps

Emoji seem supported but produce strange symbole

![image](https://user-images.githubusercontent.com/24865815/133793744-55a55582-90ad-425f-8a40-4c061a3c1d80.png)

To test emoji on Window Os, use `[win]+[.]` 🟩


### How often does this bug happen?

Every time

### DevTools package (automated)

_No response_

### DevTools version (automated)

_No response_

### Error message (automated)

_No response_

### Error call stack (automated)

_No response_

### Error component stack (automated)

_No response_

### GitHub query string (automated)

_No response_
TREE_OPERATION_UPDATE_TREE_BASE_DURATION,
} from '.constants';
import {ElementTypeRoot} from 'react-devtools-sharedsrctypes';
import {
  LOCAL_STORAGE_FILTER_PREFERENCES_KEY,
  LOCAL_STORAGE_SHOULD_BREAK_ON_CONSOLE_ERRORS,
  LOCAL_STORAGE_SHOULD_PATCH_CONSOLE_KEY,
  LOCAL_STORAGE_SHOW_INLINE_WARNINGS_AND_ERRORS_KEY,
  LOCAL_STORAGE_HIDE_CONSOLE_LOGS_IN_STRICT_MODE,
} from '.constants';
import {ComponentFilterElementType, ElementTypeHostComponent} from '.types';
import {
  ElementTypeClass,
  ElementTypeForwardRef,
  ElementTypeFunction,
  ElementTypeMemo,
} from 'react-devtools-sharedsrctypes';
import {localStorageGetItem, localStorageSetItem} from '.storage';
import {meta} from '.hydration';
import type {ComponentFilter, ElementType} from '.types';
import type {LRUCache} from 'react-devtools-sharedsrctypes';
const cachedDisplayNames: WeakMap<Function, string> = new WeakMap();
const encodedStringCache: LRUCache<string, Array<number>> = new LRU({
  max: 1000,
});
export function alphaSortKeys(
  a: string | number | Symbol,
  b: string | number | Symbol,
): number {
  if (a.toString() > b.toString()) {