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
with_variable('direction',
angle_at_vertex ($geometry, if( num_points( $geometry) >1, num_points( $geometry)/2, 1)),
case
when @direction < 179 then 'label →'
when @direction > 180 and @direction < 360 then '← label'
end
)
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.
The 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.
