So, since bit shift is not provided and no combination led to correct results,
for now I found a better solution to encapsulate the functionality in a simple C++ bp-callable function with per-byte control (eg: you need to access different offsets or similar).
I leave it here if anyone needs something like that.
The C++ function:
float DecodeToFloat(uint8 a, uint8 b, uint8 c, uint8 d) {
TArray<uint8> Bytes;
Bytes.Add(a);
Bytes.Add(b);
Bytes.Add(c);
Bytes.Add(d);
return *reinterpret_cast<float*>(Bytes.GetData());
}
It can be readapted of course for directly taking in a TArray instead of single bytes.