I don't think that there is a difference between the span cursor and the div cursor, at least there isn't for me in safari and I would assume other browsers are the same.
The div and span tags are both generic containers (see MDN docs) so it wouldn't make sense for them to have specific, different cursors. Browsers should simply display the default text cursor.
Labels are different. From w3schools:
Most browsers will display the element with the following default values:
label {
cursor: default;
}
Which is the normal mouse-pointer. This is likely to be because the label element has a specific function, unlike the div or span – it is clickable and will affect the content of other input elements.
Generally, if I'm confused about a browser's default styles, I go to the w3schools CSS Default Values Reference, which usually explains why the browser is behaving as it is. You may also find this in the developer menu of the browser in question.
If you don't like the styles which the browser is applying, simply override them in your CSS. As you have already said in your question, specifying a cursor for the label tag would be a good solution.