That is because the after() method of the controller does
if ($response === null) ...
to check if anything was returned.
If so it will use that instead of the template, it allows you to return for example a View object and override the template system (for example for an error page that doesn't use the configured page template).