Well first, that is a cool effect. It’s almost like a domino effect.
I think you can uncheck align rotation to target, change the pivot to bounding box center and maybe add a bit of thickness to the ground plane, they all should snap fine. Of course with bounding box center you will need to do it one row at a time, so maybe also try it with individual origins first. I think the main culprit could be the align rotation setting.
You could also try using a shrinkwrap modifier maybe? If nothing works, sometimes we have to go in there and do things manually.