The change in class type is deliberate due to the way the PowerShell ETS works; it helps the various things that cue on class type understand that it's a deserialized object, not a "live" one. Deserialized objects don't have any code in them – no methods. They're just static representations.

So I guess... what's the end goal, here? Like, what are you ultimately trying to accomplish?