It seems that Ionic React Router is designed to either have routes with tabs, or to have routes with no tabs, but not to “mix routes with tabs and routes without tabs.” You can get it to work, but it’s tricky and can break in weird ways.
Here’s the thread with several ways to hide the tab bar in CSS.
Modals are described pretty well in the docs.