Влияет ли недавнее обновление на приведение типов пользовательских полей?

Моя общая рекомендация как автору плагина: всегда добавляйте индексы в миграции, чтобы корректно применять ограничения. На самом деле, большинство плагинов, которые мы пишем сейчас, избегают пользовательских полей, если в них нет абсолютной необходимости, и предпочитают использовать пользовательские таблицы, с которыми гораздо проще работать. В данном конкретном случае вам нужен индекс:

create unique index idxStartEvent on topic_custom_fields(topic_id) where name = 'start_event'

Не совсем понятно, что еще нужно сделать в ядре. Мы рассматривали возможность переработки пользовательских полей, но несколько опасались этого. Одна из идей, которую я обдумываю, — просто отказаться от поддержки массивов в пользовательских полях, так как они годами вызывают огромное количество проблем.