The code that auto calculates the center/zoom of the map (when not explicitly specified) is executed synchronously, though the map group data may come asynchronously.
As a consequence, at the time the setView method is executed, the map does not contain all the data layers that should go into the bounds calculation, thus leading to incorrect position and zoom.