import Foundation
import ServiceManagement
import os.log
@available(macOS 13.0, *)
public enum LaunchOnLogin {
public static var isEnabled: Bool {
get { SMAppService.mainApp.status == .enabled }
set {
do {
if newValue {
if SMAppService.mainApp.status == .enabled {
try? SMAppService.mainApp.unregister()
}
try SMAppService.mainApp.register()
} else {
try SMAppService.mainApp.unregister()
}
} catch {
os_log("Failed to \(newValue ? "enable" : "disable") launch at login: \(error.localizedDescription)")
}
}
}
}
👉 Rectangle/Rectangle/LaunchOnLogin.swift at 277cadc905d9ff92c7948a5c97794141f8d1277c · rxhanson/Rectangle 
import AppKit
import ServiceManagement
@available(macOS 13.0, *)
class LoginItemManager {
func loginItemIsEnabled() -> Bool {
return SMAppService.mainApp.status == .enabled
}
func disableLoginItem() {
try? SMAppService.mainApp.unregister()
}
func enableLoginItem() {
try? SMAppService.mainApp.register()
}
}
👉 phpmon/phpmon/Common/Helpers/LoginItemManager.swift at 4a3dee3c5023ef252e5dd48de4d2937087eb941b · nicoverbruggen/phpmon 
import ServiceManagement
public extension SMAppService {
var isEnabled: Bool {
status == .enabled
}
func toggle() throws {
isEnabled ? try unregister() : try register()
}
}
👉 LunarBar/LunarBarMac/Modules/Sources/AppKitExtensions/SMAppService+Extension.swift at e7ae92a8fca7895d739686839afa450fd60663de · LunarBar-app/LunarBar 
■ まとめ
以上を参考に、こう書きました。

@AppStorage("launchAtLogin") private var isOn = false
Toggle("Launch at login", isOn: $isOn)
.onAppear {
isOn = SMAppService.mainApp.status == .enabled
}
.onChange(of: isOn) {
let app = SMAppService.mainApp
try? isOn ? app.register() : app.unregister()
}
その後、結局、
@AppStorage も @State も持たないようにしました。

登録状態は、
[Settings] - [General] - [Login Items]
でOS側設定画面からも管理できます。

しかし、双方向のバインディングはつらくないですか。
👉 SMAppService | Apple Developer Documentation 