Рассмотрите возможность использования FragmentPagerAdapter вместо FragmentStatePagerAdapter
Из документации:
FragmentPagerAdapter - используйте это при переходе между фиксированным небольшим количеством экранов одного брата.
FragmentStatePagerAdapter - Используйте это при поиске по неизвестному количеству страниц.FragmentStatePagerAdapter оптимизирует использование памяти за счет уничтожения фрагментов при удалении пользователя .
Также попробуйте использовать ConstraintLayout, где вы можете сохранить иерархию представления плоской.В этом видео спикер объясняет, почему это важно: https://youtu.be/rzmB3UxxhaA?t=2188