С вашего скриншота кажется, что проблема может заключаться в том, что у вас есть tabBarController внутри навигационного контроллера.
Вы должны использовать TabBarController в качестве корневого контроллера представления (стрелка должна указывать на него), и он не должен быть встроен в стек контроллера навигации, в частности, он не должен быть rootVC навигационного контроллера.
Читать здесь Apple -NavigationController rootViewController
rootViewController Контроллер представления, который находится в нижней части
стек навигации. Этот объект не может быть экземпляром
Класс UITabBarController.
В ваших комментариях ниже сказано, что вы все переставили, установив tabBarVC как root для приложения (стрелка указывает на него), но он все равно не работает. Трудно определить проблему.
Вы должны использовать операторы print, чтобы выяснить, какой контроллер nav выполняет push, это может помочь вам решить проблему.
override func viewDidLoad() {
super.viewDidLoad()
// is this the very navController that has the tabBar as root or is this the one of the other ones?
print("viewDidLoad: \(navigationController?.viewControllers.description as Any)") // this should print everything currently on the stack
}