How to implement an improper discrete-time transfer function into Simulink
I think you missed the point in the link you posted. Implement the improper function as a differentiator. You cannot get rid of the proper part but only replace it with differentiators. Hope this helps!