The flame test, as simple as it may be, would be the best method for distinguishing between the two IMO. It is correct that sodium imparts a yellow color to a non-luminous flame (USP jargon he he) and potassium imparts a violet color. We always used a clean Pt inoculating loop, and made up solutions using de-ionized water. It is a very simple test, and is recognized by the USP as an acceptable identity test.
regards,
m_e