Would it be possible to get list of index of components BY SELECTION ORDER in Edit Mode?
bmesh records (or provides access to) the selection history of a mesh.

import bpy
import bmesh

obj = bpy.context.object

if obj.mode == 'EDIT':
    bm = bmesh.from_edit_mesh(obj.data)
elif obj.mode == 'OBJECT':
    bm = bmesh.new()
    bm.from_mesh(obj.data)

for i in bm.select_history:
    print(type(i),i.index)


Notice the use of type() as the history list can contain verts, edges and faces at the same time and in any order.