your methodology seems to be pretty solid from what i can tell. i just made a similar system which takes into account a difference in height which is posted below. the one i made works like what your looking for but i would have guessed that yours would work as well given the timeline curves are set right. for the method i employed i used two curves a 0-1-0 and a 0-2. since i wanted to take into account the height difference between the player and the enemy i had to lerp between 3 values so thats where the second curve came in paired with a select node. other than that its similar to what you have. do keep in mind though that the start and end points (the actor locations in this case) should be set to static values to prevent odd behavior such as exponential acceleration. also check to see if within your projectiles blueprint the hierarchy is affecting things, such as not having the wrong component set as root. depending on what the root is all sorts of odd behavior can occur.
as for your projectile following the cursor that should be a separate issue thats not part of whats shown here.