SOLUTION:
Used .task instead of .onAppear. .task runs whenever the view appears so it works the same without bugging out. .onDisappear still works fine so these can be used together to take the place of the paired usage of .onAppear and .onDisappear until there is a fix for .onAppear
(Tagging this for some poor soul who had my problem: Camera indicator turning on in view that doesn't use camera SwiftUI)
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: