I'm not trying to be cute when I say this, but it depends on what you mean by the "end" of a street. But I'll try to answer your question based on the examples you gave.
In general, there is no tag for the "end" of a street in OSM. If there are no more nodes, you can conclude that the street ends.
1. If a street connects with another street but keeps the same name, the assumption is that the street continues there. The street does not "end" just because another street connects with it. The connecting street has a different name because it is a different street.
2. You said, "Some times there are streets with forks, which consist out of several ways" Actually, I'm not sure what you mean by this statement, but I'll try to reply. Yes, some streets have forks, but usually the original name continues in one fork, and the other fork has a new name. That's a typical situation in the United States. The original street does not "end" at the fork. It continues. Another street "begins."
3. A street may be divided into multiple ways for a number of reasons: change in width, change in surface, change in speed limit, a bridge, etc., etc. Though the name may remain the same, any of those circumstances (speed, surface) would require that the way be divided and get different tags.
4. I see no difference between Drawing 2 and Drawing 3 in terms of "beginning" and "end." Both are crooked ways that appear not to connect with another way. There is no obvious beginning or end. In any case, there is no tag in OSM to indicate which node is the "beginning" and which is the "end."
So, I have to ask, what is the reason this is important for you?