Hi, i found incorrect line in your method for the stacks coin, address generator
var publicKey = pubKey.Decompress();
Why you decompress key? I replace this line on
var publicKey = pubKey;
And it's good working, addresses equals for the hiro wallet and other for the Stacks.