How do I override /theme/custom twig in my module to render input fields?
Found the answer after some intensive searching and looking at Drupal From API: Create a twig file for the theme, I called it custom-input.html.twig and place it in your custom_module templates folder. Then you tell Drupal about it using hook_theme() function: 

function custom_module_theme($existing, $type, $theme, $path) {
  return array(
    'custom_input' =&gt; array(
      'render element' =&gt; 'element',
    ),
  );
}


Lastly, in the buildForm function you say what theme will render the element like below:

public function buildForm(array $form, FormStateInterface $form_state) {

  $form['name'] = array(
    '#type' =&gt; 'textfield',
    '#title' =&gt; $this-&gt;t('Name'),
    '#title_display' =&gt; 'invisible',
    '#required' =&gt; TRUE,
    '#theme' =&gt; 'custom_input'
  );

  $form['#theme'] = 'custom_form';

  return $form;
}


This will tell Drupal to render the form input elements using the custom twig file you created.