It seems to be normal. Looking at the hook_schema documentation, you see that it is invoked in drupal_get_complete_schema()
in includes/bootstrap.inc and in drupal_get_schema_unprocessed()
in includes/common.inc. The main difference is that the latter does not invoke hook_schema_alter()
after the hook_schema is invoked. The first of those functions seems to be called on practically every page load. The second function is called from drupal_install_schema()
during the module install process.
Concluding, looking at the code it seems to me that:
- It is normal
- It happens because during installation, Drupal needs the un-altered schema definitions