Setting a static mesh's asset based on a blueprint-exposed property

You need to override OnConstruction in your actor and move your mesh assignment code there. It’s a bit confusing but the constructor of the actor only gets called when it’s initialized and thus has no level or editor details panel data assigned to it. If you set it in the OnConstruction method you will see the changes in the editor but not if you change it programmatically in the level blueprint, for that you need to use beginplay.