How do I create overridable templates?
I found the answer in this comment. For Drupal to find the theme's template overrides, I had to change my theme keys to underscore versions of my dashed template names.

function mymodule_theme($existing, $type, $theme, $path)
{
  return array(

    'my_theme_key' =&gt; array(
      'template' =&gt; 'my-theme-key',
      'variables' =&gt; array(
        ...
      ),
    )
  );
}