Everything you said is reasonable, and I do like having conversations where candidates thoughtfully challenge parts of the question and discuss tradeoffs. Sounds like you and I would have had a lovely conversation! As long as you can explain your position and the pros and cons, I'm ok with this. I would have said Hire on our interview :).
*Personally* (and this is just a personal preference), I don't like over-engineering, and some of your ideas feel like over-engineering for the future. Like, maybe adding a third file would have been in the future, maybe not. I prefer to engineer just for the current requirements while leaving room for refactoring as requirements change (watch out for "one-way door" decisions vs "two-way door decisions"). I should acknowledge your very valid point that conditionals sprinkled can make refactoring for future growth challenging.
My bias towards not over-engineering for growth is fueled by little incidents here and there. My favorite one was we discovered that about ten extra lines of Java code were costing Amazon ten million dollars per year. That was somebody thinking "we may want X in the future" and that future never came.
But that is a *personal* opinion not an authoritative opinion, and engineering for the future is a reasonable stand.
When I said "poor" candidates I referred to people who chose a path kinda-blindly without showing the level of thoughtfulness that you did in your comment.
Thanks for taking the time to comment!