According to the next.js routing file convention docs, a route isn't publicly accessible unless it has a page.js or equivalent file in it, so it seems like having components
inside app/
is fine as long as there is no page.js in components
. This is the setup I have seen on some projects as well.
This is on next 14.