Can't filter DropDown by option value

When I try to filter a DropDown by the value key in the options dict it doesn’t display any matching labels in the DropDown. How ever if I include the value in the option label it will show up. For example I type in 2 into the search box Montreal won’t show up but if I change the label to “Montreal 2” it will. Is there a way to filter the DropDown options by its value without including the value in the label?

Search without the value in the label:
no_val

Search with the value in the label:
val

I’m using dash: 2.0.0, dcc: 2.0.0, html: 2.0.0, dash_table: 5.0.0, plotly: 5.3.1, python: 3.8.3 and Windows.

import dash
from dash.exceptions import PreventUpdate
from dash import html
from dash import dcc
from dash.dependencies import Input, Output

options = [
    {"label": "New York City", "value":1},
    {"label": "Montreal", "value": 2},
    {"label": "San Francisco", "value": 3},
]

app = dash.Dash(__name__)
app.layout = html.Div([
    html.Div([
        "Single dynamic Dropdown",
        dcc.Dropdown(id="my-dynamic-dropdown")
    ]),
])


@app.callback(
    Output("my-dynamic-dropdown", "options"),
    Input("my-dynamic-dropdown", "search_value")
)
def update_options(search_value):
    if not search_value:
        raise PreventUpdate

    return [o for o in options if search_value in str(o["value"])]


if __name__ == "__main__":
    app.run_server(debug=True)