Hi Boudewijn,
You could trigger flow on update of waitlist record to copy value of the additional lookup of to the same field of corresponding event registration.
For example, I added two lookup fields to Waitlist Item and Event Registration, their name are all Doctor.
Step 1: Trigger the flow on creation of update of waitlist item.

Step 2:
Find the event registration record with Contact and Event fields value of waitlist item.
(Field name used for filters should be the field's OData name: if logical name of field is msevtmgt_contactid, then its OData name is _msevtmgt_contactid_value)
_msevtmgt_eventid_value eq '@{triggerOutputs()?['body/_msevtmgt_event_value']}' and _msevtmgt_contactid_value eq '@{triggerOutputs()?['body/_msevtmgt_contact_value']}'
Step 3:
Check whether the additional lookup field of the updated record is not equal to null, because the expression should be null if we want to clear lookup field.

Step 4: (Yes path, when a record is set to the lookup.)

Step 4: (No path, when we clear the lookup.)

Overview of the flow

The connector I use is "Common Data Service(current environment)".
Result:
Waitlist

Event registration

You could create a similar flow for Event Registration.