Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Not sure if this is a bug or intentional, but a target_id equal to 0 is considered not empty:
function entityreference_field_is_empty($item, $field) {
$empty = !isset($item['target_id']) || !is_numeric($item['target_id']);
...
Not a major issue, but is causing issues in my edge case.