Can I force DecisionTreeClassifier to use integer conditions when the variable is integer?
Just for visualization you could use the precision parameter of plot_tree():

precision: int, optional (default=3)
Number of digits of precision for floating point in the values of impurity, threshold and value attributes of each node.

(see here)
However, since it also applies precision to impurity you might want to turn that off. Here is an example:
tree.plot_tree(clf) gives

tree.plot_tree(clf, precision=0, impurity=false) gives

(If gini importance was shown, all gini values would be 0 here)
Since it uses $\leq$ and all split thresholds are between the closest $X$ values the split criteria should still be correct. Even if your tree does not use integers. But I'd always double check and compare both plots.