How do I make an export addon pre-populate filename with name of the selected object?
Set in the invoke method.
As noted in these answers the IO helpers have invoke and check methods that are doing some things behind the scenes.
https://blender.stackexchange.com/a/198924/15543
https://blender.stackexchange.com/a/207665/15543
The export helper invoke method, that if not set sticks in the name Untitled, simply change this to that of the context object.
def invoke(self, context, _event):
    import os
    if not self.filepath:
        blend_filepath = context.blend_data.filepath
        if not blend_filepath:
            blend_filepath = context.object.name # &lt;=== UPDATE
        else:
            blend_filepath = os.path.splitext(blend_filepath)[0]

        self.filepath = blend_filepath + self.filename_ext

    context.window_manager.fileselect_add(self)
    return {'RUNNING_MODAL'}