How justified is using 3D technologies like three.js for building user interfaces?
as far as useful three.js will be in your project, this library already contains ready-made functionality that generates quite a lot of 3-dimensional primitives, including the cylinder. three.js is just a big simplified wrapper over the webgl API , which is quite low-level and therefore high-performance, so if there are a lot of ui elements, then choose it without thinking.
How difficult is it to combine them with plain html markup?
the question is not clear to be honest, it depends on what is meant by combining, but in any case html rendered without any problems over the canvas element.
How good / bad idea is to combine three.js with react.js?
I'm not really familiar with react but since both of these frameworks are written preaching a different programming style, it would be rather inconvenient and strange to combine them with hands, but there is a binding that allows you to use three.js in the style of react - this project is still under development, as there it is said, but in any case, it’s worth it anyway.