You are welcome, I hope you find them useful.
Frankly, I would not bother with a separate “Up next” list - you are right, it would add confusion. Right now, if you want something up next, you add it to the playlist - it works and its easy to understand.
Looking at this again, I think there are three questions which the user might ask themselves, which lead to some implementation options:
Can you FIND the song in the playlist? Yes, thanks to your implemented function. (note: maybe a new keyboard shortcut to jump to playlist search?)
Once you found it, do you want to MOVE or COPY the song?
i.e. add the song to the end of the playlist (or elsewhere, see 3), whilst also leaving it in its original position in the playlist (COPY) vs delete from current position and add to end of playlist (MOVE; same effect as dragging)
Do you want it to play IMMEDIATELY, NEXT or LAST?
IMMEDIATELY = Just click (this already works) - and no movement of song.
NEXT = Song would move down playlist to just after current track
LAST = Song goes to end of list.
This condenses into four options, in two groups:
Play next (move or copy)
Play last (move or copy)
Clearly there are many ways to issue these commands. Even something simple like clicking with modifiers (ctrl, shift) would be nice.
In my dream world, when you click and hold on a song, four zones (quarters) would appear overlaid on the song block, and you release your click according to what you want.
leftmost quarter: play NEXT(copy)
left-middle quarter: play NEXT (move)
right-middle quarter: play LAST (move)
rightmost quarter: play LAST (copy)
Obviously, there are options for how it appears, it could also be a circular design (I’m just assuming a block will fit nicely over the song list display, as it currently looks.
Thanks again for listening to your users, and looking forward to your decision on which way to go!