Correct input layer dtype for a boolean typed array

I am working on updating my tensorflow.js project from js standard arrays to arraybuffers.

I originally was using a standard js array of true/false values as the input to my neural network. It was predicting and training as expected. I defined the input layer as the initial layer in a tf.Sequential model as follows:
tf.layers.dense({ units: 35, inputShape: [inputs_size], dtype: "bool", activation: "relu", useBias: true })

I am currently trying to convert over to using typed array as my input. I converted the original array of true/false values into a typed array of int32 values all of which are 0’s and 1’s. And at first glance everything seems to be working as intended.

However, when I now try to training the network it appears that all inputs eventually converge to the same value. That is, regardless of what the inputs are feed into the NN, the output (after a fair amount of training) is always the same.

My question is this: should the dtype in the initial layer be left as “bool” if all I am inputting is 0’s and 1’s? (from a int32 typed array) or is it more appropriate to update the input layer dtype to “int32”.

(also, is there a better way to utilize arraybuffers for strictly true/false values)

Maybe a clearer way to ask my question is as follows: will tensorflow cast/coerce a int32 typed array into “bool” values if the dtype for the initial layer is “bool”?