Normally you should only end up with connectors/tasks in UNASSIGNED state temporarily when a worker shuts down. Normally the tasks would be rebalanced and picked up by another worker soon after.
It sounds like you can consistently reproduce this? If so, can you describe the set of steps (e.g. which connectors, how many workers, etc)? Also, do you have any logs from the workers? I am wondering if an update to the status topic is being written out of order and causing the task to appear to be unassigned even though it is actually active on a new worker.
-Ewen