I see similar behavior with BBEdit.
The first character (yin yang) consists of six bytes in UTF-8 (E2 98 AF EF B8 8F)
Its Unicode value is U+262F U+FE0F
The second one (heart decoration) consists of four bytes (F0 9F 92 9F, U+1F49F)
A single backspace after yin yang gives the b/w yin yang symbol (E2 98 AF in UTF-8, U+262F in Unicode). Thus, it apparently deletes three bytes from the back of the character.
In BBEdit, a backspace after the heart decoration removes the symbol entirely.
The three bytes removed from the yin yang represent the “Variation Selector-16” in the variation selectors. So, it makes sense that removing that gives you the ordinary yin yang in black/white.
It reminds me of Apple’s usage of decomposed umlauts: In every other OS, a ü is a single glyph. In macOS/iOS/iPadOS, it is combined by a diaresis (¨) and an u. In some situations, you have to press backspace twice to get rid of the ü. PITA.
Now, for the heart – that’s a weird thing. I can copy the heart from your post and paste it into a new MD document in DT. If I duplicate that document, it is empty. Nothing.
OTOH, If I type the heart and then “test” on a new line and delete the heart, the MD file is kind of ok (i.e. it still contains “test”). It displays a bit weird sometimes, though.
So, I’d say the problem with the “heart decoration” is a bug. The one with the yin yang is a nuisance. But Unicode is complicated…