чем отличается то что вы описываете, от того что я реализовал? modal.component который находится в shared.module и там же сервис, который принимает компонент, и через Factor...
Можно подробнее что имеется в виду как прелоад модалки? Хотя бы в двух словах, может действительно стоит изменить подход