具体的にどこでそんなコード見かけたのか知りたいな。

キャストすればなんだって通せるから文法上正しいかどうかは意味がない。
pa = (struct a*)&(pb->k); これもOKなわけだし。

でJIS X3010見たところtを構造体bの先頭に置く限りは&(test.t) == &(test)が真なので期待通りの動作となる。はず…