[verb (plain form)] + 上に [i-adj] + 上に [na-adj] + な + 上に [noun] + の + 上に / [noun] + である + 上に
The grammar pattern 上に (うえに) is used to express that something is in addition to or on top of something else. It conveys the meaning of "not only… but also," "besides," or "moreover." It is used to stack information – adding a second point that goes in the same direction as the first (both positive or both negative).
上に connects to the preceding clause as follows:
An important characteristic of 上に is that both clauses should point in the same direction – either both positive or both negative. It is used to emphasize that one quality piles on top of another.
Positive stacking:
Negative stacking:
You would not typically use 上に to connect a positive and a negative statement – for that, のに or けど would be more natural.
While し can also list reasons or qualities, 上に carries a stronger sense of accumulation and feels more formal or emphatic. し is more conversational and can list reasons more loosely, whereas 上に emphasizes that one thing is layered on top of another.