The easiest option is to keep the apps separate and make sure your webserver knows which one to serve for each URL. Links between the apps become plain
<a href=...>. The benefit of this solution is that you get to develop and deploy the two apps independently. The downside is that if users go between them a lot and your app doesn’t boot very fast, it may feel slower.
The alternative is to port one into the other. If both apps are going to be maintained by the same team anyway, this is probably worth doing, as separation (whether with engines or separate apps) is not really helpful in that situation. First work to get both apps using the exact same set of dependencies. Then search for any places where they’re using the same name for different things (like two different components with the same name, or two different routes with the same name) and change those to stop colliding. Then combine the router maps, copy all the routes, templates, components, etc, and test.
The hardest part may be the CSS, unless both apps have done an above-average job of maintaining clean style isolation.