I don't know if I agree with highway implying line geometry; I think it's just usually true. In this case, highway=rest_area is only supposed to be used on nodes and closed ways, so it seems kind of redundant to include area=yes. Data consumers should just refrain from using objects with tags that they don't understand, even if they have a general rule for the key (i.e. don't treat a rest area as a routable highway)