So, I’ve spent a little time to understand what is going on and to find a way to overcome this issue.
What I’ve noticed:

If we use constructions such as IValue.dictStringKeyFrom(hm), where hm is HashMap<String, IValue> or if we use IValue.listFrom(lst), where lst is List<IValue> we will obtain the behaviour described above.
But if we use IValue.from(arr), where arr of type Tensor[], we will not face this issue and JAVA won’t tell that it’s expected List[Tensor] but got List[Tensor]


Concluding this, there’s no way to construct analogue of (2) using dictionaries.
IValue (https://pytorch.org/docs/stable/org/pytorch/IValue.html 7) doesn’t have overriden method public static IValue dictStringKeyFrom(Map<String, T> map), where T is Tensor.
I think in this case it might work, but it does not deny the fact there might be a bug