How to apply rotation matrix with world position offset on mesh particles?

I’m trying to apply rotation matrix in a world position offset shader to deform a mesh. On a standar static mesh it works great, but when I applied it on a mesh particles and use it in Niagara, the mesh particles does not hold the mesh deformation when rotating it. My transforms were being processed in local space and then transform back into world space.

The main intend is to defrom the mesh with dynamic parameters.

Here’s a simplified version of the offset shader:

If you apply that on a particle mesh by default it’s going to work, but if you change the particle mesh orientation/rotation then your screwed:

I have the same system working perfectly with Cascade.