As far as I understand, relations, ways and nodes are different entities. In the same way that a node does not automatically “get” the tags of the way(s) it may belong to, so for ways and relations.
In addition, it is also possible that multiple relations may have different or conflicting tags for a way they share. For example, different bus routes that share the same way have conflicting ref tags and a way that is part of a local walking trail, the Israel Trail would have conflicting osmc:symbol tags.
SW that accesses the OSM DB, such as mapping apps, needs to actively pull data from one entity to another. In many cases, such as mapsfourge, it is not a simple task.
Therefore, I believe, way-level information should be tagged on the way itself.
route=road relations are a well established mechanism for grouping ways belonging to the same road. One can use such a relation to “select all members” and edit the tags of all member ways simultaneously (at least on Potlatch2). We could also establish a standard of Israeli “network” tags for “route=road” relations, as was done in some other countries.
I think that in “This works out for some tags” you meant “This is only relevant for some tags”.
This does not “work out” in the sense that the ways will not automatically “get” or “inherit” additional tags from the relation(s) they belong to.
For example you could add surface and name to the relation, but these tags will not be part of the ways’ tag list.