That is the default behaviour of Leaflet.markercluster plugin, especially visible on mobile.
More specifically, it has a removeOutsideVisibleBounds
option that is enabled by default:
removeOutsideVisibleBounds: Clusters and markers too far from the viewport are removed from the map for performance.
On mobile, anything outside the current map viewport is removed, and re-appears when panning stops. But this means that during pan, you may miss some markers.
See also Leaflet MarkerCluster removeOutsideVisibleBounds not working
Unfortunately, there is no API to customize this behaviour, other than disabling it by passing the option to false
:
const mcg = L.markerClusterGroup({
removeOutsideVisibleBounds: false // Disable default behaviour
}).addTo(map);
Demo on mobile: https://jsfiddle.net/4weocd0q/1/embedded/#Result