I did adapt my model as suggested by @Michael Bayer in the mailing list and documented in Bitbucket issue
#4078, declaring relationships as
viewonly=True in a superclass and overriding them as viewonly=False in subclasses as needed.
Then I found that when doing a query on a subclass eager loading one of those relationships works fine. However doing the same query on the superclass results in the SQL query correctly issued, but the related objects for one of those relationships are missing (not accesible through the relationship attribute, and not even loaded in the session).
I can only add that this isn't a regression as I get the same results on 1.1.14 and 0.9.9, and that removing the relationship overload in the subclass (and removing viewonly=True in the superclass) I got it working normally. The bug is database agnostic, tested with PostgreSQL and SQLite.
Test case attached.