Hi Wombat:
If you are using Odoo 16.0, there is a "Mass Produce" button on the Manufacturing Order that lets you assign a range of Serial Numbers with one click. However, it splits the MO into multiple MOs (one for each serial number). You can than select all MO's and mark them as done using Action > Mark as Done. Not elegant but solves the problem of having to assign the serial number for each MO individually.
NOTE: Adding this since I missed your Operations/Work Centers related portion of the question. If you use Operations/Work Centers, you will be forced to produce 1 item at a time, according to the functionality as it is today.
Suggested workaround for this issue would be to create 2 BoMs (2 separate Products):
a. BoM A for 1 "Batch of 100" items of Product A. This BoM will contain the Operations/Work Centers and will be used to create the MO to manufacture 100 items "without serial numbers".
b. BoM B for 100 Units of the item which will "consume" the output of BoM A (Batch of 100 of Product A) and will be used to "Mass Produce" the individual items with the serial numbers (Product B).
Mass Produce button:

After clicking on it, you get:

After clicking Generate you get:

After clicking Apply Odoo will split the MO into 5 MOs (similar to backorders) like so:

After clicking 5 Backorders Smart Button, you can select all of them and mark them as done, like so:

Hope this helps.
Hello wombat
I have the same situation, have you managed to resolve it?