По идеи, если вы используете API 2.1, все и так оптимизировано и загружается по требованию. Из документации:
По умолчанию загружаются все компоненты API (load=package.full), однако в целях минимизации объема трафика, передаваемого клиентскому приложению, вы можете указать список конкретных сущностей API, с которыми работает ваше приложение.
Примечание. package.full оптимизирован таким образом, чтобы подгружать функциональность в момент ее фактического использования, поэтому в большинстве случаев нет необходимости настраивать параметр load.
У меня сначала загрузился сам скрипт (~32 кб.), а затем 2 файла (~300 кб.). После инициализации карты подгружаются все остальные файлы. Если у вас есть возможность скрыть карту (поместить в блок с display:none), загрузятся только первые 3 файла, а остальное когда блок станет видим.