If Dortmund have not been consistently selling off most of their players, I'm certain they would have been able to stay ahead of Bayern Munich much enough to be able to able to win the league titles especially last season when they were close to winning and later lost form and Bayern Munich as usual won again.
They have to sell players that do not want to stay, and they are paid so well for these players by the clubs that buy them, so Dortmund can also invest that money in other players, they didn't lose their players for free. Bayern Munich are so strong in the German league and Dortmund wouldn't have been able to stay ahead of them even if they haven't sold any player in the last 3 years or so. I want some other team that's not Bayern Munich to win the league this season, Leverkusen are doing very well and they are top of the German league, but i still think that Bayern will come back to win the title.
None of that is certain, in fact nothing is certain even if Dortmund does not sell its players. but at least, the big rivalry will likely be more competitive between Dortmund and Bayern Munich. unfortunately, Dortmund doesn't plan to do that. because, as we all know, how Dortmund does business in this industry. apart from that, they can't just rely on ticket sales income alone. that's why since Dortmund almost went bankrupt, they changed their direction in recovering their financial situation. and currently, Dortmund has produced many star players who are currently playing in various leagues. with that, Dortmund experienced an increase in its finances based on the sales of its players. what's unique is that in recent years, even though they sold several of their players, Dortmund was still able to finish in the top 4 of the Bundesliga. and what I said, we have discussed many times especially in this thread.
Talking about competition this season, Bayern Munich still has a high probability of defending their title for the umpteenth time. although, now Leverkusen is at the top of the standings. like it or not, Leverkusen must continue to appear on the right track. a difference of 4 points does not make Xabi Alonso's squad safe from Bayern Munich, especially since Bayern has one match postponed plus one match against Leverkusen. in the match between these two teams, it will be very crucial. I won't speculate too far, just follow every development, especially now that the competition is at least more exciting and competitive.