Elementor or WordPress randomly adds the word “array” to my custom widget

I’m pointing a few things –
First, There were no anchor(a) tags.
Second, while you’re rendering URL there’re few more parameters you need to get outputs like “url”, “id”. On your case, you need “url”. I’ve edited full codebase and make fresh for you.
Please take a look, I’ve tested on my end.

<?php
  namespace ElementorAwesomesauce\Widgets;

  use Elementor\Widget_Base;
  use Elementor\Controls_Manager;

  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

  /**
   * @since 1.1.0
   */
  class Awesomesauce extends Widget_Base {
    /**
     * Retrieve the widget name.
     *
     * @since 1.1.0
     *
     * @access public
     *
     * @return string Widget name.
     */
    public function get_name() {
      return 'awesomesauce';
    }

    /**
     * Retrieve the widget title.
     *
     * @since 1.1.0
     *
     * @access public
     *
     * @return string Widget title.
     */
    public function get_title() {
      return __( 'Awesomesauce', 'elementor-awesomesauce' );
    }

    /**
     * Retrieve the widget icon.
     *
     * @since 1.1.0
     *
     * @access public
     *
     * @return string Widget icon.
     */
    public function get_icon() {
      return 'fa fa-pencil';
    }

    /**
     * Retrieve the list of categories the widget belongs to.
     *
     * Used to determine where to display the widget in the editor.
     *
     * Note that currently Elementor supports only one category.
     * When multiple categories passed, Elementor uses the first one.
     *
     * @since 1.1.0
     *
     * @access public
     *
     * @return array Widget categories.
     */
    public function get_categories() {
      return [ 'general' ];
    }

    /**
     * Register the widget controls.
     *
     * Adds different input fields to allow the user to change and customize the widget settings.
     *
     * @since 1.1.0
     *
     * @access protected
     */
    protected function _register_controls() {
      $this->start_controls_section(
        'section_content',
        [
          'label' => __( 'Content', 'elementor-awesomesauce' ),
        ]
      );

      $this->add_control(
        'title',
        [
          'label' => __( 'Title', 'elementor-awesomesauce' ),
          'type' => Controls_Manager::TEXT,
          'default' => __( 'Car Title', 'elementor-awesomesauce' ),
        ]
      );

      $this->add_control(
        'description',
        [
          'label' => __( 'Description', 'elementor-awesomesauce' ),
          'type' => Controls_Manager::TEXTAREA,
          'default' => __( 'Sold or Currently available', 'elementor-awesomesauce' ),
        ]
      );

      $this->add_control(
        'content',
        [
          'label' => __( 'Content', 'elementor-awesomesauce' ),
          'type' => Controls_Manager::WYSIWYG,
          'default' => __( 'Remove this text and insert media', 'elementor-awesomesauce' ),
        ]
      );

      $this->add_control(
              'link',
              [
                  'label' => __( 'Link', 'elementor-awesomesauce' ),
                  'type' => Controls_Manager::URL,
                  'dynamic' => [
                      'active' => true,
                  ],
                  'placeholder' => __( 'https://your-link.com', 'elementor-awesomesauce' ),
                  'default' => [
                      'url' => '#',
                  ],

              ]
          );

      $this->add_control(
              'text',
              [
                  'label' => __( 'Text', 'elementor' ),
                  'type' => Controls_Manager::TEXT,
                  'dynamic' => [
                      'active' => true,
                  ],
                  'default' => __( 'Click here', 'elementor' ),
                  'placeholder' => __( 'Click here', 'elementor' ),
              ]
          );


      $this->end_controls_section();
    }

    /**
     * Render the widget output on the frontend.
     *
     * Written in PHP and used to generate the final HTML.
     *
     * @since 1.1.0
     *
     * @access protected
     */
    protected function render() {
      $settings = $this->get_settings_for_display();

      $this->add_inline_editing_attributes( 'title', 'none' );
      $this->add_inline_editing_attributes( 'description', 'basic' );
      $this->add_inline_editing_attributes( 'content', 'advanced' );
      $this->add_inline_editing_attributes( 'link', 'none');
      $this->add_inline_editing_attributes( 'awesomesauce_text', 'basic');

      // Add render attributes to add classes to html elements h2, article, figure, and div

      $this->add_render_attribute( 'title', 'class', 'title is-5');
      $this->add_render_attribute( 'description', 'class', 'subtitle');
      $this->add_render_attribute( 'content', 'class', 'image is-4by3');
      // $this->add_render_attribute( 'link', 'class', 'button is-rounded is-fullwidth');


      $this->add_render_attribute( 'awesomesauce_link', [
        'class' =>  'button is-rounded is-fullwidth',
        'href'  => esc_url_raw($settings['link']['url'] ),

      ]);


      if( $settings['awesomesauce_link']['is_external'] ) {
        $this->add_render_attribute( 'link', 'target', '_blank' );
      }

      if( $settings['awesomesauce_link']['nofollow'] ) {
        $this->add_render_attribute( 'link', 'rel', 'nofollow' );
      }



      $this->add_render_attribute( 'wrapper', 'class', 'tile is-parent');
      $this->add_render_attribute( 'wrappertwo', 'class', 'tile is-child box');
      $this->add_render_attribute( 'awesomesauce_text', ['class'=> 'subtitle has-text-right']);

      ?>

      <div <?php echo $this->get_render_attribute_string( 'wrapper' ); ?>><?php echo $settings['wrapper']; ?>
        <div <?php echo $this->get_render_attribute_string( 'wrappertwo' ); ?>><?php echo $settings['wrappertwo']; ?>
          <h2 <?php echo $this->get_render_attribute_string( 'title' ); ?>><?php echo $settings['title']; ?></h2>
          <div <?php echo $this->get_render_attribute_string( 'description' ); ?>><?php echo $settings['description']; ?></div>
          <div <?php echo $this->get_render_attribute_string( 'content' ); ?>><?php echo $settings['content']; ?></div>
          <a <?php echo $this->get_render_attribute_string( 'awesomesauce_link' ); ?>>
            <?php //echo $settings['link']['url']; ?>
            <span <?php echo $this->get_render_attribute_string( 'awesomesauce_text'); ?>>
              <?php echo $settings['text']; ?>              
              </span>
          </a>
        </div>

      </div>


      <?php
    }

    /**
     * Render the widget output in the editor.
     *
     * Written as a Backbone JavaScript template and used to generate the live preview.
     *
     * @since 1.1.0
     *
     * @access protected
     */
    protected function _content_template() {
      ?>
      <#
      view.addInlineEditingAttributes( 'title', 'none' );
      view.addInlineEditingAttributes( 'description', 'basic' );
      view.addInlineEditingAttributes( 'content', 'advanced' );
      view.addInlineEditingAttributes( 'car_image', 'advanced');
      #>
      <div ' + view.getRenderAttributeString( 'wrapper' ) + ' >
        <article ' + view.getRenderAttributeString( 'wrappertwo' ) + ' >
          <h2 class="title is-5" {{{ view.getRenderAttributeString( 'title' ) }}}>{{{ settings.title }}}</h2>
          <div class="subtitle" {{{ view.getRenderAttributeString( 'description' ) }}}>{{{ settings.description }}}</div>
          <figure class="image is-4by3" {{{ view.getRenderAttributeString( 'content' ) }}}>{{{ settings.content }}}</figure>
              <a href="https://wordpress.stackexchange.com/questions/348083/{{ settings.link.url }}" class="button is-rounded is-fullwidth">
                <span {{{ view.getRenderAttributeString( 'text' ) }}}>{{{ settings.text }}}</span>
              </a>
        </article>
      </div>
      <?php
    }
  }

Please check the code. If it works then accept my answer.