I had a hard time getting the #default_value to work for the date form field because the examples module and the documentation uses this approach:
$form['send_date'] = [
'#type' => 'date',
'#title' => $this->t("Send Date"),
'#default_value' => [
'month' => 2,
'day' => 15,
'year' => 2020,
],
];
After playing around with it for a while, I was able to get it to work by passing in a YYYY-MM-DD value, using date.formatter (the new way to format_date()).
$date_formatter = \Drupal::service('date.formatter');
$form['send_date'] = [
'#type' => 'date',
'#title' => $this->t("Send Date"),
'#default_value' => $date_formatter->format(REQUEST_TIME, 'html_date'),
];
Looks like this is a known issue that has also caused others lost time. :( Hopefully this will get rolled out soon.