Invalid transport

Rechecking your OP I see the mistake.
You attempted to Post a form. Which has some fun on how the data keys go iirc.

The example and documention recommends JSON so try this:

		const data = await fetch('https://api.twitch.tv/helix/eventsub/subscriptions', {
			method: 'POST',
			headers: {
				'Client-ID': clientID,
				'Authorization': 'Bearer ' + token,
				'Content-Type': 'application/json',
			},
			body: JSON.stringify({
				'type': 'channel.follow',
				'version': '1',
				'condition': {
					'broadcaster_user_id': '227329520',
				},
				'transport': {
					'method': 'webhook',
					'callback': 'https://myngrokurl/webhooks/callback',
					'secret':  rString
				}
			})
		});

And that should get you going