Well - purely from a description of what these kwargs do, it doesn't seem crazy that a user would want to say "make kmax 1.5 times larger".   It's just not possible given how we've implemented it.

Anyway, I think this does have to be more explicit.  Saying "must be an int" but then not raising exception for a float input (and not raising some kind of warning to say it's being converted to int) doesn't make sense to me.  The test you mentioned would be a perfectly fine way to deal with it.