Minimally Making Change
JavaScript (ES6), 57 bytes
A significantly shorter version suggested by @tsh, who managed to get rid of the edge case \$n&lt;9\$.
Returns an array of 4 integers in reverse order (quarters to pennies).

n=&gt;[z=(n-=x=(n-4)%5+4)/25-.7|0,(n=n/5-5*z-1)/2|0,n%2+1,x]

Try it online!

Original version, 73 bytes
Returns an array of 4 integers.

n=&gt;n&lt;9?[n,0,0,0]:[x=4-~n%5,y=(z=n/25-.96|0)+(n-=x)/5&amp;1||2,n/5-y-z*5&gt;&gt;1,z]

Try it online!