A URL de uma imagem estilizada pode ser obtida da seguinte forma:

// Carregar a entidade do arquivo de imagem.
$file_entity = \Drupal::entityTypeManager()->getStorage('file')->load($file_entity_id);

// Obter a URI do arquivo.
$original_file_uri = $file_entity->getFileUri();

// Obter o estilo desejado para a imagem.
$style = \Drupal::entityTypeManager()->getStorage('image_style')->load('thumbnail');

// Obter a URI da imagem estilizada.
$styled_file_uri = $style->buildUri($original_file_uri);

// Verificar a existência do arquivo da image estilizada.
// Criar o arquivo caso não exista.
if (!file_exists($styled_file_uri)) {
  $style->createDerivative($original_file_uri, $styled_file_uri);
}

// Obter a URL da imagem estilizada.
$styled_file_url = $style->buildUrl($styled_file_uri);

Caso a imagem seja campo de um conteúdo, $file_entity pode ser definida da seguinte maneira:

$file_entity = $node->field_image->entity;

onde $node é a entidade de conteúdo e field_image é o nome do campo de imagem.

Para saber mais sobre como file_exists() funciona nesse caso, confira esse link: file_exists() and Drupal file URI -- how does it work?