It's possible that the imbalance you're seeing is due to the difference in the rate of incoming data between Topic1 and Topic2. Since subtask 4 is already busy consuming data from Topic2, it may not have capacity to consume more data from Topic1.
Additionally, the round-robin partition assignment strategy can lead to imbalances if the number of partitions and subtasks do not match up evenly. For example, if there are 10 partitions and 5 subtasks, then some subtasks will be assigned 2 partitions and others will be assigned 1 partition. In this case, subtask 4 would be assigned 1 partition and the remaining 9 partitions will be assigned to the other subtasks.
Another potential issue could be, if there is a failure or a shutdown of subtask 4 while running, then Flink will reassign the partitions from the failed subtask to other running subtasks, and the reassigned partitions may be from Topic 1 or Topic 2, so that might be the reason why subtask 4 is not consuming anything from Topic1.
I would recommend checking the logs and metrics of your Flink job to see if there is any error or if subtask 4 is running and healthy, also check the overall partition assignment distribution among the subtasks and see if it's balanced or not.