The usual order of execution detailed at http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_triggers_order_of_execution.htm still applies with some special considerations
The Before triggers and validation rules do not fire unless that checkbox is ticked under Customise > Lead > Settings. Note that for orgs created prior to '08 you'll need to contact support to enable this (related answer)
After triggers still always fire irrespective of the above setting
To check if a Lead has been converted and do custom lead conversion logic, the best home for such is the LeadAfter trigger, where you can check
If (trigger.isUpdate && Lead.IsConverted && !trigger.oldmap.get(lead.id).IsConverted)
//do your stuff
Here you will have access to the convertedAccountId, convertedContactId, ConvertedOpportunityId and any OpportunityContactRoles
This is also a good place to re parent any custom related list records from the converted Lead to either of Company or Contact
Just added some debug logs to triggers, and here's the order of execution :
(This is with the Enforce Validations and Triggers on Lead Conversion Enabled)
Account Custom Field Mappings
Account Before (Fires based on lead settings)
Account After
Contact Custom Field Mappings
Contact Before (Fires based on lead settings)
Contact After
Opportunity Field Mappings
Opportunity Before (Fires based on lead settings)
Opportunity After (OCR's not available)
Lead Before
Lead After (OCR's available)
If the Enforce Validations and Triggers setting is turned off, none of the Before triggers fire. The After triggers however still fire.
Workflows, Validation Rules and Before triggers fire on Lead Conversion only if the Setup > Customise > Leads > Settings > Enable validations and triggers is checked.

It might be worth checking if this setting is enabled, because otherwise the Lead Status value will not be synced to your custom field on Lead Conversion via workflow, and therefore not be copied across.
(Even then, I believe the Lead Triggers / Workflows fire after the Account and Contact ones, so it may be to late for the Lead Status to copy across)
The order of execution at Lead Conversion has been answered here
This can be achieved by a trivial LeadAfter trigger, or if the Lead Status is always set to Qualified upon Conversion, then you could set 'Qualified' as the Default Value on the Contact Lead Status field.
(One way of doing it also may be to only allow 'Qualified' Leads to be Converted - this can be controlled by having a different layout for Qualified Leads, when the status changes to Qualified, a workflow fires - changes RecordType to QualifiedLead and therefore associated Page Layout changes, which now has the Convert Button. With this approach, the Lead Status at conversion is available in advance and available to be copied across at Lead Conversion)
Best Answer
The easiest way to do this is as follows:
Create a field on Lead (type checkbox)
Is_Lead__c
, default trueCreate a field on Opportunity (type checkbox)
Is_Originated_From_Lead_Conversion__c
, default falseUse Lead Mapping to map
Lead.Is_Lead__c
toOpportunity.Is_Originated_From_Lead_Conversion__c
for legacy leads/Oppos, you'll need to follow the suggestion from sfdcfox