Adding placeholder text to a Drupal 8 form element that is the label of the form can be done in your .theme file with the hook template_preprocess_input().
/**
* Implements template_preprocess_input().
*/
function MYTHEME_preprocess_input(&$variables) {
// Set a placeholder for all search form elements.
if ($variables['attributes']['type'] == 'search') {
$variables['attributes']['placeholder'] = $variables['element']['#title'];
}
}
The code above will add the #title of the form field as a placeholder attribute to any field of type 'search'.