Answering your first question
What they mean by unitless is that pixel density is calculated depending on target device pixel density.
So, 1px will vary in real device size depending on the device's pixel density, it will mean 2px in a retina display and 3px on newer 'plus' sized devices.
There's a nice table for what 1px means in each Apple device here:
https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/
For Android devices, to simplify the whole thing, since the android ecosystem has a lot more devices with different resolutions, the react-native team decided to stick with Apple's standard and the framework decides for us what best files and resolutions apply, being that 1x, 2x or 3x.
In essence, that all means that in your style definitions, you will use pixels as being points. If your origin image is 100 pixels for non-retina displays, just define it as being 100px and provide also a version with 200px with @2x appended to the end of the file name. React will know what file to use.
Check this answer for more info on that:
React Native Responsive Font Size
Answering your second question
Not at all.
At least not more of a performance hit we already have on using react-native and JS. The JS code (and styled-components code for that matter) we write is used to manipulate compiled and native code for the specifics platform, so all rendering is done close to metal thus having a very good performance. The JS code the app has to run obviously is less performant than it would be if written in all native code, but it's fast enough to not even make a difference in the end.