@almas, with the new monorepo support, if a base directory is declared (other than the base of the repo itself), then Netlify changes to that directory and - here’s the catch - it restarts processing from that directory.
This means that when post processing occurs, Netlify will not read the redirects configured in the netlify.toml in the base of the repo - even though it did read that file to change into the new directory for the build processes.
This is because the base setting is read during pre-processing and redirects are read during post processing. This is new behavior introduced by the new monorepo support and we are looking at improving how this is handled.
The workaround for now is the one you have discovered, to include the rules in a _redirects file in the publish directory.
I understand that troubleshooting this on your own was less than ideal and we thank you for creating this forum topic. Hopefully, other people will find this forum post and benefit from your experiences by finding the solution for this here.
As always, if there are any other questions about this - please let us know.