In the Symfony Best Practices is advised to not use bundles to organize business logic.
The bundles should be used only when the code in them is meant to be reused a
Conway's law:
organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.
You should design your directory structure around how you organize work.
If you or your colleagues work full-stack on per feature basis you should group your code per feature. It will make navigation and code discovery easier.
If you or your colleagues are well specialized on back-end, front-end, translations etc. you should organize your code around that. Directory structure on per function basis will support clear split of responsibilities.
Also, the depth should depend on how big do you foresee a project to be. If it will be a 5+ years effort of 5+ people, you should probably go with splitting both on per feature and per function with nesting, as mentioned, depending on work organization. If it will be a 3 month project for one person i.e. some simple internal tool you should probably go with more flat structure. I would also recommend sticking to defaults.
Additionally, I found this article informative: https://blog.nikolaposa.in.rs/2017/01/16/on-structuring-php-projects/