Hi Steven,
Welcome to the LuaRT Community.
Thank you for your report : as the documentation states, for UTF8 and UNICODE encoding, the File:read() method should return a string not a Buffer object.
This bug is related to BOM not being detected in the file and defaulting encoding to "binary" which is not the expected behaviour as the user provided the "utf8" encoding.
This bug will be fixed in the next release.