I am not sure if there is already an issue for this. But I usually just switch expected with actual in the arguments. As you mentioned, reading the failing test output is then harder obviously.
If we look at the signature expectEqual(expected: anytype, actual: @TypeOf(expected)) !void, notice that the second arg's type depends on the first arg's type.
To avoid using @as coercion, we can just swap the passing arguments. comptime_int can be inferred as i64, not the other way around. And that makes sense because literal values are unsized.