Download Featured Image Link in Post Shortcode

You can use add_shortcode function to register a custom shortcode for your site. For example like this,

// add to (child) theme's functions.php
function my_download_featured_image_link( $atts, $content="" ) {
  // shortcode should return its output
  return sprintf(
    '<a class="download_image" href="https://wordpress.stackexchange.com/questions/356495/%s">%s</a>', // html output of the shortcode
    esc_url( get_the_post_thumbnail_url(null, 'full') ), // defaults to current global $post
    esc_html__( 'Download featured image', 'textdomain' ) // translatable anchor text
  );
}
add_shortcode( 'my_download_featured_image', 'my_download_featured_image_link' );

To use the shortcode add [my_download_featured_image] to your post content.

Alternatively you could use the_content filter to automatically add the download link at the end of the post content. The link output might require some tweaking for it to play nicely with the page builder you’re using.

// add to (child) theme's functions.php
function my_download_featured_image_link_after_content( $content ) {
  if ( is_singe() || has_post_thumbnail() ) {
    return $content . sprintf(
      '<a class="download_image" href="https://wordpress.stackexchange.com/questions/356495/%s">%s</a>',
      esc_url( get_the_post_thumbnail_url(null, 'full') ), 
      esc_html__( 'Download featured image', 'textdomain' )
    );
  } else {
    return $content;   
  }
}
add_filter( 'the_content', 'my_download_featured_image_link_after_content' );