It may be related to how you initialise the Dash app. On my end, the plot displays correctly when I structure like this.
import dash
from dash import dcc, html
# Initialize Dash app
app = dash.Dash(__name__)
app.layout = html.Div(children=[
html.H1("SCP Containment Class Distribution"),
dcc.Graph(id="scp_chart", figure=fig)
])
if __name__ == "__main__":
app.run(debug=True)