SwiftUI's colorScheme vs preferredColorScheme

SwiftUI's colorScheme modifier is said to be deprecated in favour of preferredColorScheme but the two work differently. See the below sample app, colorScheme changes the underlying view colour while preferredColorScheme doesn't. Is that a bug of preferredColorScheme?

import SwiftUI

struct ContentView: View {
    let color = Color(light: .red, dark: .green)
    
    var body: some View {
        VStack {
            HStack {
                color.colorScheme(.light)
                color.colorScheme(.dark)
            }
            HStack {
                color.preferredColorScheme(.light)
                color.preferredColorScheme(.dark)
            }
        }
    }
}

#Preview {
    ContentView()
}

@main struct TheApp: App {
    var body: some Scene {
        WindowGroup { ContentView() }
    }
}

extension UIColor {
    convenience init(light: UIColor, dark: UIColor) {
        self.init { v in
            switch v.userInterfaceStyle {
            case .light: light
            case .dark: dark
            case .unspecified: fatalError()
            @unknown default: fatalError()
            }
        }
    }
}

extension Color {
    init(light: Color, dark: Color) {
        self.init(UIColor(light: UIColor(light), dark: UIColor(dark)))
    }
}

SwiftUI's colorScheme vs preferredColorScheme
 
 
Q