I have spent thinking a lot about this question myself and finally reached to a conclusion.
In dijkstra we make a visited array which marks the node as visited when it is encountered in the priority queue. This children of this node is processed first and this node won't be processed again assuming that we have found out the shortest path to this node. However, if we are working on a directed acyclic graph with negative edge weights, it is possible that we might find a shorter path for this node and then we will have to change the minimum distance in the distance array for this node as well as all the nodes in the graph which were initially encountered after this node.
Therefore, if we wish to work on a directed acyclic graph with negative edge weights, we can use dijkstra algorithm but we will have to avoid the usage of a visited array and check each possible path to a specific node. This will also increase the (originally O[Edges* log(Vetices) ] time complexity of the dijkstra algorithm as now each node will be processed more than once, in fact many times.
Check image for better understanding.
Please upvote if you agree, also suggest any issues with my approach.
-Ansh Sethi (IITK)