### Description

ShutdownShardMigrationStatus serializes ShardAllocationDecision, which, as of #97803, is chunked. ShardAllocationDecision grows with the number of nodes. Therefore, it would save heap space to chunk ShutdownShardMigrationStatus as well.
x-pack/plugin/shutdown/src/main/java/org/elasticsearch/xpack/shutdown/SingleNodeShutdownStatus.java
if (metadata.getAllocationDelay() != null) {
                builder.field(
                    SingleNodeShutdownMetadata.ALLOCATION_DELAY_FIELD.getPreferredName(),
                    metadata.getAllocationDelay().getStringRep()
                );
            }
            builder.timeField(
                SingleNodeShutdownMetadata.STARTED_AT_MILLIS_FIELD.getPreferredName(),
                SingleNodeShutdownMetadata.STARTED_AT_READABLE_FIELD,
                metadata.getStartedAtMillis()
            );
            builder.field(STATUS.getPreferredName(), overallStatus());
            builder.field(SHARD_MIGRATION_FIELD.getPreferredName(), shardMigrationStatus);
            builder.field(PERSISTENT_TASKS_FIELD.getPreferredName(), persistentTasksStatus);
            builder.field(PLUGINS_STATUS.getPreferredName(), pluginsStatus);
            if (metadata.getTargetNodeName() != null) {
                builder.field(TARGET_NODE_NAME_FIELD.getPreferredName(), metadata.getTargetNodeName());
            }
            if (metadata.getGracePeriod() != null) {
                builder.timeField(
                    SingleNodeShutdownMetadata.GRACE_PERIOD_FIELD.getPreferredName(),
                    metadata.getGracePeriod().getStringRep()
                );
            }
        }
        builder.endObject();
        return builder;
    }
}