1. "Markup" is for a markup language such as Markdown, but maybe also all other languages, [AsciiDoc][1], etc. With JAMstack we have the constraint, and advantage, that it is static rendered, as opposite to other [CMSes][2], like [WordPress][3]

2. I discovered with you the JAMstack principle, the most important is that it is statically rendered, using Git as backup. So:
 - if you are using React in the runtime phase, it is not JAMstack,
 - but if you use it at compile time and deliver rendered HTML content to your production HTTP server, it is JAMstack.

Here is an article stating that the most important is having static files, not only JavaScript, calling "SHAMstack":
*[JAMstack? More like SHAMstack][4]*

I have used, for example, static pages of [GitHub][5] using [Jekyll][6] (the default on GitHub) and Markdown. The HTML content is rendered on the commit.

  [1]: https://en.wikipedia.org/wiki/AsciiDoc
  [2]: https://en.wikipedia.org/wiki/Content_management_system
  [3]: https://en.wikipedia.org/wiki/WordPress
  [4]: https://css-tricks.com/jamstack-more-like-shamstack/
  [5]: https://en.wikipedia.org/wiki/GitHub
  [6]: https://en.wikipedia.org/wiki/Jekyll_(software)