I am using latest Jetpack Navigation with native support of multiple stack for bottom navigation: https://medium.com/androiddevelopers/navigation-multiple-back-stacks-6c67ba41952f and it works fine. The only limitation for me that I have to define all navigation in navigation.xml and cannot change it during the runtime.
Apparently I found out that there is an Kotlin DSL for building navigation graph programmatically: https://developer.android.com/guide/navigation/navigation-kotlin-dsl
Unfortunately I cannot find any examples of using this Kotlin DSL for bottom navigation with multiple stack.