>I can create a marker layer using VectorMarkerSymbolLayer, but it doesn't have a marker placement property
We acknowledge that there is no public API available to set the MarkerPlacement yet. This is on our to do list in one of the future releases. I will add your request to our internal issue to add some weight 🙂
So basically if you are creating symbol programmatically using API classes, you might not be able to do this because markerplacement property is not publicly available. One way around this to get symbol json and create symbol.FromJson()
However, a better/recommended workflow is to create a stylx of symbols in ArcGIS Pro, and use SymbolStyle API to open that stylx in runtime and fetch/get desired symbol by searching the associated key.
For the most part ArcGIS Pro symbolization and symbol properties are honored in Runtime via authored content, like if you are using a stylx or accessing a mobilemappackage etc. But not all properties are exposed as public APIs.
Hope that helps.