Preline UI is a DOM-driven Tailwind CSS component system. Symfony produces the markup, and Preline UI attaches behavior to that markup once it exists in the browser. That is why the same dropdown, overlay, tabs, tooltip, or select markup can move between Symfony, plain HTML, React, Vue, Svelte, Laravel, Rails, and similar stacks.
The detail that matters in Symfony is where the JavaScript runs. Twig templates render server-side HTML, so Preline UI cannot initialize from inside a .html.twig file. It needs a client script that your asset pipeline ships, either a Webpack Encore entry such as assets/app.js or an AssetMapper entry loaded through importmap(). A plain Symfony page is a full reload, so a single page-load scan is enough. As soon as Symfony UX Turbo is in play, navigation becomes a partial DOM swap and you have to re-run initialization. Everything below is about putting autoInit in the right place for each case.