I am not aware of any group of learners who have trouble with this distinction.
Interesting pairs include:
hidden hoyden
missed moist
The mean density is 0.3%. The list makes only 26 semantic distinctions, giving a low semantic loading of 42%.
Ali alloy alley alloy alleys alloys bid buoyed bill boil billed boiled billing boiling bills boils biz boys brill broil envy envoi envies envois envy envoy envies envoys fill foil filled foiled filling foiling fills foils fist foist fists foists gin join ginned joined ginning joining gins joins gist joist gists joists grin groin grinned groined grinning groining grins groins hidden hoyden hissed hoist ill oil ills oils kill coil killed coiled killing coiling kills coils kin coign lids Lloyd's litter loiter littered loitered littering loitering litters loiters mill moil milled moiled milling moiling mills moils missed moist mist moist sill soil sills soils spill spoil spilled spoiled spilling spoiling spills spoils spilt spoilt till toil tiller toiler tillers toilers tilling toiling tills toils