because
/etc/hostnameis allowed to contain only ASCII Latin characters, numbers, and dash
If you really wanna go for cursed, the syscall to change hostname doesnt have this restriction, and I do have a working system with non-ascii characters in the hostname. It takes some fighting with systemd and NetworkManager, and stuff does sometimes break, but it can be done.