**What caused the problem**

I inspected your data. The problem is the geometry of your line. It's very weird. Vertices appear in a chaotic order: Start point (first vertex) of the line is somewhere in the middle, next few vertices follow the river, than it jumps to another part and continues there for a few vertices etc.

**How to solve the problem**

1. [`Explode your line`][1].

2. Select all features of the exploded line and [`Merge selected features`][2]. 

Than you can apply your label along the line where you want.

**Further problems, further options for optimization**

Once solved, depending on your settings, you could observe another problem. When you define `label anchor`, you have to select strict (as you did on your screenshot). Otherwise, the label might still be shifted to another, more suitable (from the point of view of the algorithm) position.

But you also have to select a mode for placement of the label: `Parallel`, `Curved` or `Horizontal`. When you chose `Curved` together with the `strict` seting for label anchor, the label might disappear. This has to do with the extremely meandering river, especially in the middle part. Increase `Maximum angle between curved characters` so that the label becomes visible - even if almost illegible. With these settings, the label is forced to be displayed along the meandering river, characters being rotated based on the river's curves. So in this case, better choose parallel or horizontal labeling or another anchor. 

*Increasing the maximum angle makes label visible, but almost illegible because characters trace the meandering river-line:*
[![enter image description here][3]][3]

Another option is to generate a (much simplified) line of your river, without all these meanders. You can do this using [Geometry by expression][4] and an expression like this:  `smooth (simplify( $geometry,9000),12)`. This gets you the red line in the next screenshot - hide it (`No symbol`), but label **this line**. On the screenshot, I made some further adjustments like setting a distance of the label from the line, increasing space between characters etc.

QGIS has a lot of options to adapt labels to your needs. But maybe you reach a point where all the work to achieve this lead you to the idea to do the labeling as part of a post-processing task in a vector graphic software where creating curved labels can be much more intuitive and faster.

*Red, simlified and smoothed line can be hidden, but is used in the background as the line the label traces.*
[![enter image description here][5]][5]


  [1]: https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/qgis/vectorgeometry.html?highlight=explode#explode-lines
  [2]: https://docs.qgis.org/3.16/en/docs/user_manual/working_with_vector/editing_geometry_attributes.html?highlight=merge#merge-selected-features
  [3]: https://i.sstatic.net/7baaS.png
  [4]: https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/qgis/vectorgeometry.html?highlight=geometry%20expression#geometry-by-expression
  [5]: https://i.sstatic.net/EjGWG.png