Przeszukiwałem sieć przez wiele godzin i doszedłem do tego rozwiązania, którym chcę się podzielić z innymi osobami:
Użyj BLOB zamiast text/varchar w polach bazy danych. W ten sposób możesz nadal korzystać z tabel bazy danych, tak jak wcześniej, a emotikony są wyświetlane poprawnie. Jak tylko hoster zaktualizuje wersję MySQL, będę nadal używać UTF8MB4 jako kodowania.