Why does this model unwrap despite having no seams marked on it?
All primitive objects in Blender are unwrapped by default. So when you add your own seams and try to unwrap it, Blender discards the default UV and tries to unwrap UV according to your defined seams.
In your example, it looks like someone already unwrapped it and exported it as obj. So when you import it, you get the UVs but not the seams.