As mentioned by @Huang and linked by @DBS here: https://stackoverflow.com/a/38452396/10594231
This could be fixed by appending the unicode variation selector VS15 to the character which forces it to be rendered as text rather than emoji.
div.entry-content p a::before {
content: "\2197";
padding-right: 2px
}
would become
div.entry-content p a::before {
content: "\2197\FE0E";
padding-right: 2px
}