El problema es con SET NAMES utf8
dominio. En MySQL, el juego de caracteres utf8 no es realmente utf8, es admite caracteres de hasta 3 bytes solamente
y el carácter en cuestión tiene 4 bytes:
El verdadero utf8 es el utf8mb4 que usa como conjunto de caracteres en el campo mismo. Entonces, usa SET NAMES utf8mb4
Entonces, desde Perl, debe usar {mysql_enable_utf8mb4 => 1}
en lugar de {mysql_enable_utf8 => 1}
.