Fragment in Jetpack Compose は動くのか
結論
動くが本番環境で使うのは怪しいと思っている
Jetpack Compose
新しい Android アプリ向け UI キットである Jetpack Compose はこれまでの XML で構成されている View との高い相互運用性があります。 そのため既存の View に Compose を含めたり、画面の Compose で実装して一部に これまでの View を使いまわす実装が簡単に行えます。
 
  相互運用 API | Jetpack Compose | Android Developers
相互運用 API のドキュメントページを読むと、どちらの使い方もすぐ理解できると思いますが、このドキュメントには View を Compose に埋め込む方法は紹介されているものの、Fragment を Compose に埋め込むことについては推奨する/しないを含めて一切の記載がありません。
Fragment in Jetpack Compose
試してみると意外にも普通に動きます。もちろんFragmentContainerViewだけの XML を用意して Inflateする方法でも動きます。 FragmentContainerViewを直接呼び出す際は View.generateViewId で ID 振りが出来ます。
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            ComposeFragmentSampleTheme {
                Surface(color = MaterialTheme.colors.background) {
                    FragmentContainer(
                        fragmentManager = supportFragmentManager,
                        fragment = MainFragment(),
                    )
                }
            }
        }
    }
}
@Composable
fun FragmentContainer(fragmentManager: FragmentManager, fragment: Fragment) {
    AndroidView(
        factory = { context ->
            FragmentContainerView(context).apply {
                id = View.generateViewId()
            }
        },
        modifier = Modifier.fillMaxSize(),
    ) {
        val transaction = fragmentManager.beginTransaction()
        transaction.replace(it.id, fragment)
        transaction.commit()
    }
}