I have an operating-system called bingobongo. I have another called greg that inherits the bingobongo config. If I leave the services field empty in greg, there is no issue. If I define it as (operating-system-services bingobongo) then all hell breaks loose and I get the aforementioned error and no amount of filtering seems to fix it becaues then I get the same error but with "profile" instead of shepherd-root.
Now, I don't know what causes this, whether it's a Guix issue or Guile's record system being... well... kind of terrible, but in any case it should be treated like a bug, because a user should not have to dig as deeply into Guix internals as I have so far.