Is there a way to only mark the most recent email in a thread as unread?
In a message thread in the mail app, there's a small indicator of how many messages are in the thread:

If you click on that indicator, it'll open up the thread and show all the individual messages:

You can then interact with the individual messages, including setting the most recent one as unread.