Not a bug. When ACR1 and 2 meet, ACR2 calculates a new path to circumvent the deadlock. Since the intersection is blocked by ACR1 at that time, the shortest path to the destination leads along the upper path. Aferwards there are no more events that would cause ACR2 to recalculate its path again, so it continues along the alternate route until it reaches its destination.
If you want to achieve a different behaviour, you would have to implement your own deadlock prevention. (Listen to the On AStar Block event and if the Needs Reroute parameter is true, then take the necessary steps to move one of the involved Task Executers out of the way.)
