Customize the added trace

Hi there,
What I want is a 2-layer figure, one layer for polygons in mapbox, another layer is dots in mapbox, and both customized with color. (different color based on data)
Something like this (but I want the dot color can also be customized based on data)

For the polygon layer, I used this one:

fig = px.choropleth_mapbox(...)

and there is df and color, and I can use something from df to map the color of the polygon, which is great.
and for the dot layer, I used this one:

fig.add_scattermapbox(...)

but I cannot set the color/size of the dot to be related to any data.

Hope anyone can give a hand here, thanks so much!