It's still the case as of v5.30 that the incomplete UTF8 support is [hard coded](https://lab.civicrm.org/dev/core/-/blob/5.30/CRM/Core/BAO/CustomField.php#L1619) into the core code. The solution for now seems to be to re-run the `System.utf8conversion` routine after any time you create a field/fieldset.