This works in 1.9.3 on inspircd 1.2 at least.
You shouldn't mlock +k on an ircd which doesn't support persistent channels otherwise when the first user joins the channel (if it was empty) they'd see chanserv mode it +k with the key (which I assume you don't want).