Вообще да, псевдоэлементы лучше использовать по их прямому назначению - создание инлайновых сущностей до и после чего либо.От задачи зависит, before удобнее и проще, но все же больше для статики подходит, к нему js обращается только через костыли по моему