How do you know your 'export_for_template' is not actually being called but not using your template?....
I tested
The template is not fixed (it's not a fullpath, but a template name); and render_from_template will use the correct template, I tested that as well.
My understanding is that themes are allowed to override renderers only, through theme_overridden_renderer_factory, but not arbitrary functions.
But you put me on the right tracks: by overriding render_login in the theme_xxx/classes/core_renderer.php's theme_fhsg_core_renderer class, one can achieve what they want without a core hack. Thanks!