To solve your problem you have two different options.
Solution 1 by default option
QGIS, at least from the 3.10 (not sure about previous versions), offers the opportunity to add this arrow symbol to the label by default using one of the Labels options.
In Layout Manager > Labels in the Formatting page, active the option
Line direction symbol and, here, use the arrow symbols (you can copy them from the System Character Map).
This will suit your request. But, as discussed in the comments, this solution turn off the possibility to activate the useful option Merge connected lines to avoid duplicate labels and seem to be not compatible with the Placement Curved or Horizontal.
Solution 2 by expression (recommended)
You can achieve the same result using an expression that calculates the direction of the line to populate your label.
This is the expression
angle_at_vertex ($geometry, if( num_points( $geometry) >1, num_points( $geometry)/2, 1)),
when @direction < 179 then 'label →'
when @direction > 180 and @direction < 360 then '← label'
This solution is recommended because keep active and selectable the option Merge connected lines to avoid the duplicate labels and works with all the Placement options.
if option in the expression permits to calculate the direction on the middle of a line with several nodes and avoid to misinterpreted a line that has an irregular proceeding.