Sorry for the delay in response. I've been on vacation.
I'm glad Copy Traversed Source Features was helpful. It is indeed a neat little tool.
Regarding your questions, no, there is no way to change either behavior.
For 1, I think it helps to understand what the solver does. The solver simply seeks to find the optimal, or shortest, travel time from the origin to the destination. It does not know about any additional parameters about rider preference, etc. So if the fastest travel time between A and B can be achieved by taking an early bus, waiting a while, then taking a train, this is what the solver will return. If the other option has the exact same travel time, I think it will still take the earlier bus just due to simple tie-breaking behavior. Essentially the graph search algorithm doesn't know what's going to happen later in the route when it's choosing which transit trip will get used along a transit line. It sees the transit line, figures out which trip minimizes the travel time along that segment, and uses it. For your case, perhaps if you use a slightly later overall start time for your route, it will give you the journey you want. Or, if you are trying to model an arrive time, you can use the Closest Facility solver with a single incident and facility, and it will let you use an arrive time (Route does not).
For 2, this is correct. The wait time is wrapped up with the overall travel time along a transit line segment, and there is no way to separate them. This is a limitation of the internal architecture of Network Analyst. The code DOES know how much is wait time and how much is ride time, but there's no way to pass that information back out to the user, unfortunately.