To have the label at the same vertical position as the legend:
1. Inject the label into the legend using the option LegendFunction
in BarLegend
:
MatrixPlot[data,
PlotLegends -> BarLegend[Automatic,
LegendFunction -> (Row[{Style[labellst[[1]], Large], #}] &)],
PlotRangeClipping -> False, LabelStyle -> Medium, AspectRatio -> 1/2]

2. Add the label as a legend specifying multiple legends in PlotLegends
:
MatrixPlot[data,
PlotLegends -> Thread[Placed[{Style[labellst[[1]], Large], Automatic}, Below]],
PlotRangeClipping -> False, LabelStyle -> Medium, AspectRatio -> 1/2]

You can have more precise positioning using the $\{\{e_x,e_y\},\{l_x, l_y\}\}$ form instead of symbolic positions in Placed
:
positions = {{{.5, -.1}, {.5, .5}}, {{.15, -.1}, {.5, .5}}};
MatrixPlot[data,
PlotLegends -> Thread[Placed[{Automatic, Style[labellst[[1]], Large]}, positions]],
PlotRangeClipping -> False, LabelStyle -> Medium,
AspectRatio -> 1/2]

3. Post-process MatrixPlot
output to insert the label to the left of the legend:
MatrixPlot[data, PlotLegends -> Automatic, PlotRangeClipping -> False,
LabelStyle -> Medium, AspectRatio -> 1/2] /.
Placed[lg_, a__] :> Placed[Row[{Style[labellst[[1]], Large], lg}], a]
