Hi Iller
According to the documentation, wich is the only thing I can talk about since I have not used the foliage system personally other than messing around, placing the static meshes on the level with the foliage is the best way to do it at real time performance wise: It unites groups of meshes in clusters, wich will be rendered at the same time making this process more efficient, all the objects on a cluster will be drawn on screen at the same time. The editor gives you the chance to define the size of the cluster and the cuantity of static meshes each cluster will have along other things.
Foliage Tool | Unreal Engine Documentation
from what you have tested, I’d say, if you were to subtitute the foliage meshes, you would have a bad performance.