index.htmlに直接CDNからreactとreact-domを読み込んで
npmからは@types/reactと@types/react-domをインストールし
tsxファイルからimport文を使わずにreactを使ったところ何の問題もなく動いた。

plotly.jsを同じように使おうとしたら自動では定義ファイルを読んでくれない。
この違いは一体何なのか?

と思って定義ファイルを見たところreactとreact-domには以下のような記載がある

export as namespace ReactDOM;
export as namespace React;

上記を真似て定義ファイルに
export as namespace Plotly;
を追加したら同じ挙動になった。

export as namespace XXX ってなんすか?