In reply to dave_59:
Thanks Dave for your clarifying answer.
To summarize this, I should call factory create for the env in the build phase of the global test. Then in the derived test, I should call UVM type override prior to super.build_phase to override the type of the env. After that, if I would like to access to the additional overridden members of the derived env, I should make dynamic cast with $cast(). Did I interpret it correctly, hopefully broadly yes.
-Ilia