At the risk of stating the obvious, what frp needs to align the stack is not the "align" directive (although that may help, too) but:
and rsp, -16
You don't want to do just that, of course, since we need to get our old rsp back, but that's the part that guarantees stack alignment. See the example. Thanks, Gerhard!
Best,
Frank