You'd probably want to use a regression discontinuity (RD) design over a diifference in difference (DiD) design, though you may certainly want to include some year fixed effects or otherwise control for the time-component of your data.
To explain a bit about the intuition, DiD typically involves studying two groups over time, and one group gets treatment and the other control group doesn't. The key assumption is that had the group that received treatment not received it, it would have had the exact same effect as the control group. As such, in your case, it's not enough to compare firms with assets over 2 mil to those under, because larger asset firms presumably have a different trajectory compared to firms with assets under 2 mil.
Instead, your RD design focuses on your true source of 'quasi' randomness: assuming that firms did not know about this cutoff, they did not make any effort to be above or below the 2 mil threshold, in which case you can compare firms just above 2 mil to those just under. An RD design provides the framework to implement this. Intuitively, you could do a DiD comparing those just above to those just below the cutoff, but if the RD design holds, their pre-trends should be exactly the same (because we assume that firms around the cutoff are the same!), and so all you need to do is look at their future outcomes and don't care about their pre outcomes, but now you're just back in the RD framework, except that the RD framework focuses more on not just using the data at the cutoff, but your whole dataset.