That would be the case if this was a single table inheritance. Instead, it's a class table inheritance.
The properties of the derived class are stored in the base table (user), removing id from Medewerker would leave the actual table without a primary key.
Shadowing the Foreign key as PK/FK on Medewerker results in the same problem.
Copied from their documentation:
Class Table Inheritance uses one table per class in the inheritance structure; each table stores only the columns it doesn’t inherits from its parent. Propel doesn’t offer class table inheritance per se, however it provides a behavior called delegate, which offers the same functionality.
Again, delegation isn’t really inheritance. The Basketballer class doesn’t inherit from Player, but proxies method calls to Player. And since Propel uses __call() magic to achieve this proxying, an IDE won’t see the Player methods accessible to a Basketballer instance.
You can easily replicate the issue by importing the schema definition in the link on the main post (or find it at the propel2 documentation -> inheritance, section "class table inheritance"), then try to make a m:m relation between a newly created entity and footballer or basketballer.