Как применить стиль к тегу сразу после его появления в DOM через js?
Вы что-то явно делаете не так в архитектуре изначально.
Принцип должен быть такой:
1) Если блок загружается сразу при загрузке страницы, тогда ваш прелоадер присутствует изначально на странице и имеет все необходимые стили (допустимо даже использовать inline стили в этом случае), чтобы перекрыть загружающуюся часть. Как только контент загрузился - прелоадер скрывается/удаляется из разметки.
2) Если блок начинает загружаться динамически по требованию пользователя, тогда перед загрузкой, вы помещаете прелоадер в нужно место и начинаете делать под ним загрузку. Когда контент будет загружен - прелоадер можно будет так же скрыть/удалить из разметки.

Если же у вас нет желания строить архитектуру правильно изначально, присмотритесь к MutationObserver
Вы можете использовать document.write , данный метод  вставляет текст или html разметку непосредственно во время чтения документ. В вашем случае если js отключен, то он не выполнится и ваш прелоад не появится вообще.

<script>
      document.write('<div class="_pre-load-gradient"></div>')
 </script>
Это самый быстрый способ вставки в документ средствами js