Attribute somehow incorrectly transferred with mesh boolean?

I’m having a strange boolean behavior here. This happens only on large scale meshes merged by boolean operation.

The idea is to merge terrain mesh together with rock formations. However, when using Union, self interserction and/or hole toleratn option for mesh boolean, it starts to also transfer certain attributes to strange places. Any idea why and how to eliminate this? Same problem is both with or without geometry baking.

3 pics for comparison. White highlights “beach” attribute. Is correctly displayed around edges. But on the 3rd picture, it starts to be visible also on merged rock formations for some reason.

I wasn’t able to replicate the issue on reasonable sized sample, so posting only pictures.

Terrain mesh:

Rock formations:

Mesh boolean operation: