JSComponent model parameters puzzle: why does this not update?

When does the render code see model parameters that have been overriden in the constructor?

Here is the code:

class Foo(pn.custom.JSComponent):
    width = param.Integer(default=300, doc="Width of the canvas")
    height = param.Integer(default=300, doc="Height of the canvas")

    _esm = """
    export function render({ model, el }) {
        console.log(`DEBUG: ${model.width}x${model.height}`);
    }
    """

foo = Foo(width=100, height=100)
print( f"dimensions {foo.width}x{foo.height}")
pn.Column(foo).servable()

python output: dimensions 100x100
console output: DEBUG: 300x300

I expected the values to be the same.

Indeed appears to be a bug, will investigate.