you get the fake host when you are auth'd (logged in) with the service, setting umode x without that doesnt do much.
you could react when your host is changed, this is raw 396.
a quick example:
raw 396:& is now your hidden host:{
  join #chan1,#chan2,#chan3,...,#chanN

I have not tested it, but it should work