How to implement low pass filter in the differential part of PID in time domain
First, you are confused in how to implement a low-pass filter, and you're getting this wrong both for the derivative term and for your plant.  A good difference equation to use to implement a 1st-order low-pass filter is \$x_k = (u_k - x_{k-1})(1-d)\$, where \$x_k\$ is the filter output, \$u_k\$ is the filter input, and \$d\$ is the filter's pole position in the \$z\$ domain (it's up to you to translate this to your quasi-continuous-time model).

A good first approximation for \$d\$ for your plant is \$\left(5\mathrm{\frac{rad}{s}}\right)T_s\$, where \$T_s = \frac{1}{100 \mathrm{Hz}}\$.

Note that the above difference equation does not depend on time, but does depend on the input.  If you think you're writing a difference equation for a system, and your equation doesn't depend on the input signal -- you're doing something wrong!

The thing you're computing is the unit step response of a low-pass filter.

As it stands now, you've described a time-varying system that just loops the PID controller back on itself, with a varying gain.

A good test would be to run just the plant simulation, once with a step, and once with a pulse -- you should see markedly different results.