Every time ContentView is initialized, there will be a new instance of ObservableOne created. By the time ContentView.body is run, SwiftUI will have thrown it away and replaced it with the original.
You are starting observation tracking inside the body of ObservationApp, so SwiftUI thinks that you're actually using it there, and thus it has to invalidate the body of that, as well, which leads to two ContentViews being created. If you delete the init of ObservableOne, the problem will go away.
For additional context, StateObject, arguably the precursor to using State with something that could be observed, lazily created the state it was wrapping. I don't know that Apple has ever said why they moved away from this with the introduction of using State + Observation.
This behavior is briefly discussed in the documentation for SwiftUI.State:
A State property always instantiates its default value when SwiftUI instantiates the view. For this reason, avoid side effects and performance-intensive work when initializing the default value.
The implication is that creating a view component N times will lead to N default values… but only the first default value is "saved" across the lifecycle of the component.