Do the wheels rotate easily? Is the pilot loose and swings easily? Are the pilot wheels in gauge, that is properly spaced apart to ride well on the rails? Might need an NMRA gauge to test the spacing (aka the gauge). They can be gotten at a local train hobby store or online from a variety of stores.
Remove the engine truck (that's what the front axle and frame are called) and see if there's a blade type spring under the cylinder saddle that is meant to press the engine truck down onto the rails. Does the exploding diagramme show it? If it isn't there, it's missing. If there is such a thing in place, does it do its job, or is it displaced? Is the engine truck mounting screw tight? It might benefit from being a bit looser. If the diagramme doesn't show one, then you might benefit from adding a bit of weight to the top of the frame, say a portion of a wheel balancing lead weight, painted black.
I am assuming your curves are not too small in radius for the engine, and that the track elements are properly joined. I also assume none of the joints dips because the supporting surface is not planar.
I’m thinking it’s possibly the ez track not having a joiner set correctly. My layout I had when I was my sons age had ez track and I had consistent issues with my locos and rail cars coming off. Unfortunately I had a couple fall off the edge of my layout