Потому что на каждый юнит трансляции будет создаваться свой объект
Создал я значит конструктор (до того был дефолтный), чтобы проверить сколько раз он создастся. И что вы думаете? С определенным конструктором работает, даже если объект создается через const auto & ....