I think I have the answer to your question. The key to the answer is that you said the problem started last summer and went away last winter and now that it’s summer again the problem has come back.
On the surface, it looks like it could be any number of things but I don’t think so. I think it is due to the fact that your Elantra is low on transmission fluid. When a transmission is low on fluid your car’s transmission struggles against increased internal pressure generated by the additional heat that is the result of your transmission’s low fluid level. The result is that while your engine has reached the proper speed and rev range for an upshift to occur, it does not. Instead, it takes more speed and engine revs for the upshift to occur. The ultimate result of this is the slam you mention.
The thing of this is that the transmission is supposed to be a sealed unit. Its fluid level is not supposed to drop. Because it has dropped, it is likely that your transmission has a leak. If you are lucky, you will find the answer quickly and the fix will be inexpensive. It just depends on what the shop finds when it diagnoses your tranny.
If you are lucky and it is a leaking axle seal, your technician should be able to fix it in a couple of hours. Axle seals are relatively low-cost items and they are commonly stocked by shops so with parts on hand and since the seal is fairly easy to access it should take about half-a-day for the repair. As shop costs vary across the country, it is tough to pin down an exact fee, but, generally, this type of repair costs between $350 and $500.
If the seal is an input shaft seal, they you will have to find a rental because your vehicle will be tied up for some time. Each day that ticks buy adds to the expense. Generally, a mechanic with good skills should be able to replace the input shaft seal in about a day or a little more. That means your cost will be in the $1,000 to $1,500 range.