Bundesliga can be categorized as a competitive league. The weak teams you mentioned do not mean that they cannot provide a surprise, including Heidenheim, they could show it later at Signal Iduna Park, and I do not agree with the definite guarantee that you said. If it is true that Dortmund will definitely win, does that mean Heidenheim cannot win? How do bookies provide odds if victory is certain in Dortmund's hands, and I as a bettor would be happy if it was guaranteed.

In my opinion, both teams have a chance as long as they can maximize the existing opportunities by focusing and working hard in the match.
Neither team can win, for example, 100 games in a row, and the odds reflect the expected statistics as if the teams played many games against each other. Now bookmakers give 1.38 for Dortmund to win, this means (taking into account the bookmaker's interest in not being in the red) that in their opinion Dortmund will win no more than 71 games out of 100. It is obvious that in the remaining 29 games the underdog gets a draw/win and yes, this is quite possible.