Fireballs tend to move in a parabolic (x^2) trajectory instead of a straight line ( x ) after being punched by a slime block.
Steps to reproduce:
Load the attached structure file
Trigger the button
-> ❌ The fireball will only curve after being hit by the slimeblocks and fly straight up eventually again, instead of flying in a straight line after being hit by the slimeblocks
I believe this is intended behavior.
The fireball has a "power" tag of a positive Y in your example, and gains a value in other directions in the "direction" tag when hit by a slime block. The "power" tag is the "direction" tag but without resistance, meaning without slowing down.
By the way, I think it being parabolic looks cool.