Passing variables to a block template
I think you should write it like below code.
   /**
    * Implements hook_theme() to add the template definition. 
    **/
    function lotus_theme($existing, $type, $theme, $path) {
      return [
        'lotus_template' =&gt; [
          'variables' =&gt; ['test_var' =&gt; NULL],
        ],
      ];
    }

In your controller file
public function build() {

    return array[
      '#theme' =&gt; 'lotus_template',
      '#test_var' =&gt; $this-&gt;t('Test Value'),
    ];

  }

Then in your lotus-template.html.twig
&lt;p&gt; This is the lotus template with a value of {{ test_var }} &lt;/p&gt;

Source Define a custom template for module output