The label of the block entity is the admin label. It might or might not be used as the label that is actually printed out.
First, there is a setting that allows to control if a label should be printed or not. Second, block plugins can return a label from their build() method that will override the one used in the UI. See the code in template_preprocess_block() for reference:
$variables['label'] = !empty($variables['configuration']['label_display']) ? $variables['configuration']['label'] : '';
// A block's label is configuration: it is static. Allow dynamic labels to be
// set in the render array.
if (isset($variables['elements']['content']['#title']) && !empty($variables['configuration']['label_display'])) {
$variables['label'] = $variables['elements']['content']['#title'];
}
That said, I don't think you can access that in the region preprocess however, because the blocks haven't been built yet and their output might be cached, so the block preprocess will never be called in that case.