Same problem and can reproduce with an even more basic example. Take your current NavigationPath and encode path.codable. Now take that data and decode it using NavigationPath.CodableRepresentable.self as the output type. It appears to work without an error. But as soon as I attempt to update the path within the view... path = NavigationPath(newlyDecodedCodableRepresentable) it fails with a fatal error.
Would be nice to confirm that this is a bug.