Leipzig is currently inconsistent, Leipzig and Dortmund are competing for 4th place and with these two teams unable to maintain consistency, they are not putting any pressure on Stuttgart so currently only 1 more place is at stake and that is between Leipzig and Dortmund.
Stuttgart' chances of being able to finish in the top 4 are of course wide open especially at this time they are only 4 points away from Munich who are in the second rank, with the current stuttugart performance of course they will easily get a ticket to the Champions League next season and even i think they will be able to finish above Bayern Munich later, So far Bayern Munich have not found their best form In the league and the busy schedule that awaits Munich in the next few weeks will certainly make them a little depressed especially now that Munich Is suffering from a storm of injuries to its main players, so I think Stuttgart will be able to get the advantage to move up to second place with 8 games left at the moment.
Leipzig Is not as consistent as last season but I think their chances of being in the top 4 are greater than Dortmund, currently leipzig and Dortmund are only 1 point apart and Dortmund next week will face a difficult match against Bayern Munich, so Leipzig chances of rising to rank 4 can happen if Dortmund lose from Munich, But still Leipzig should be able to get 3 points from Mainz later, In my opinion Leipzig has more chances to end the season in 4 than Dortmund.