Fullscreen modal interferes with customised barStyle previously working

I am facing a very specific problem: a fullscreen style modal stops the customised barStyle working properly.

In my app,
rootViewController presents a Level-2 viewController
Level-2 viewController pushes a Level-3 viewController
Level-3 viewController presents a fullScreen model
(rootVC > L2 > L3 > fullScreen)

I want the barStyle in L3 to be dark, and light in L2.
So in the viewWillAppear of L2 and L3, I am using
Code Block
self.navigationController?.navigationBar.barStyle = .default

and
Code Block
self.navigationController?.navigationBar.barStyle = .black

The barStyle works as expected in this flow
Code Block
rootVC > L2 > L3 > L2

but not in
Code Block
rootVC > L2 > L3 > fullScreen modal > L3 > L2

when back to L2, the barStyle stays dark, seems this line doesn't work anymore
Code Block
navigationBar.barStyle = .default

A minimum demo app is here: Demo

Could anyone please shed some light? Is this a bug?
Fullscreen modal interferes with customised barStyle previously working
 
 
Q