Analysing this file leads to the following signature definitions:
The given SavedModel SignatureDef contains the following input(s):
  inputs['input_1'] tensor_info:
      dtype: DT_INT32
      shape: (-1, 10)
      name: serving_default_input_1:0
  inputs['input_2'] tensor_info:
      dtype: DT_INT32
      shape: (-1)
      name: serving_default_input_2:0
  inputs['input_3'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1)
      name: serving_default_input_3:0
  inputs['input_4'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1)
      name: serving_default_input_4:0
  inputs['input_5'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1)
      name: serving_default_input_5:0
The given SavedModel SignatureDef contains the following output(s):
  outputs['output_1'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, -1, 80)
      name: StatefulPartitionedCall:0
  outputs['output_2'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, -1, 80)
      name: StatefulPartitionedCall:1
  outputs['output_3'] tensor_info:
      dtype: DT_INT32
      shape: (-1, 10)
      name: StatefulPartitionedCall:2
  outputs['output_4'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, 10)
      name: StatefulPartitionedCall:3
  outputs['output_5'] tensor_info:
      dtype: DT_FLOAT
      shape: (-1, 10)
      name: StatefulPartitionedCall:4

It seems the saved model  you are using has the shape: (-1, 10) as the default input there so the TFJS conversion also adheres the saved model definition shown.
PS on a side note if you get this working I would love to see the end demo