The Same as Layer choice does not work dynamically, just like Same as Display -- ie the extent from the source is applied right then and then the source is "forgotten." The extent environment is either four coordinates or a rule (Union, Intersection of inputs) and does not reference a dataset or layer after it is set. In contrast, the Snap Raster setting is applied to the extent when a tool runs -- it does point to a dataset and work dynamically.
The only way you can make it work "at runtime" dynamically is to set it up that way inside ModelBuilder by linking a dataset to a tool, specifying Environment>Extent when you do so.